Conda ve Virtualenv'in Mac OS Catalina'ta çalışması nasıl sağlanır?


12

Daha önce Conda'nın Mojave'de sorunsuz çalışmasını sağladım, ancak Catalina'ya yükseltmenin "anaconda3" klasörünü Masaüstünüze> Yeniden Yerleştirilen Öğeler> Güvenlik> anaconda3'e taşıdığını gördüm. Görünüşe göre Catalina'nın güvenlik ayarları artık uygulamaların doğrudan kullanıcı dizini altına kurulmasına izin vermeyebilir.

Aşağıda yazılan öneriyi burada denedim :

Merhaba, bir çözümüm olabilir

  • Yeniden Konumlandırılan Öğeler'de bulunan anaconda3 klasörünü / Users / myname / dizinine kopyalayın
  • Terminali Aç
  • Girin: export PATH = '' / Kullanıcılar / adim / anaconda3 / bin: $ PATH "
  • Enter: conda init zsh

İşe yaradı! İyi şanslar!

Ama bu benim için işe yaramıyor. Aldıktan sonra conda init zsh:

-bash: / Kullanıcılar / KULLANICI / anaconda3 / bin / conda: / anaconda3 / bin / python: bozuk yorumlayıcı: Böyle bir dosya veya dizin yok

Nasıl Conda yukarı ve yeniden yayınlanması için olmadan tüm sanal ortamlar kaybediyor? Teşekkürler!


Güncelleme

Conda'yı @Ted Shaowang'ın önerisine göre çalıştırdım. Bu, conda env listConda ile oluşturulan tüm sanal ortamları gösterir.

Ancak virtualenv, varsayılan anaconda3 dosya konumlarını değiştirdiğimden, python bulunamadığından hala bir sorun yaşıyorum .

Adresinde bulunan python yürütülebilir dosyası .virtualenvs/env/bin/pythonbulunamıyor. Python'un da çalışabilmesi için başka değişiklikler yapmam gerekir virtualenvmi?


Hatanızdan hala kullandığınız anlaşılıyor bash, ancak önerilen çözüm zsh(yeni Catalina varsayılanı) içindir. conda init bashBunun yerine deneyin .
merv

Aynı hatayı aldım. bashde çalışmıyor.
Kaymal

Yanıtlar:


6

Aynı problemim var ve bu benim için çalışıyor:

Eğer anaconda için "taşındı Öğeler" dan taşıdıktan sonra ~/anaconda3, düzenleme ilk satırı ~/anaconda3/bin/condadosyanın #!/anaconda3/bin/pythonetmek #!/Users/USERNAME/anaconda3/bin/pythondeğişikliği yansıtmak için.


1
Bu pip ve Jupyter ayarlarını etkiler mi?
rrz0

1
Bu anaconda3 ve python ile ilgili tüm sorunları çözmüyor gibi görünüyor. Hata alıyorum: Program çalıştırılamıyor "/Users/USER/.virtualenvs/env/bin/python"Böyle bir dosya veya dizin yok. Finder'ı kontrol ettiğimde dosya gerçekten eksik ve bulunamıyor.
rrz0

3

Muhtemelen yukarıdaki çözümü kullanmaktan kaçınırım. Bu ~/anaconda3/bindizinde condabu kılavuzda değiştirilmesi gereken çok sayıda çalıştırılabilir dosya (yalnızca bir tane değil ) vardır. Örneğin, aynı değişikliği yapmadığınız sürece jupyter notebook, basesahip olabileceğiniz diğer kıskançlıklardan veya diğer kıstaslardan da çalıştıramazsınız .

İpucu: Sanal ortamlarınız için bir gereksinimler dosyası almayı deneyin ve yeni bir kurulum yapın. pipreqsBireysel projeler için kullanılan gereksinimleri elde etmek için kullanabilirsiniz : https://www.idiotinside.com/2015/05/10/python-auto-generate-requirements-txt/


Önerin için teşekkürler. Dediğiniz gibi, sorun da devam ediyor virtualenv.
rrz0

3
Lütfen bunları düzeltmek için bir araç öneren blog yayınına bakın: anaconda.com/…
msarahan


1

Teknik olarak bu anaconda yeniden, ancak, tüm conda envs geri yüklendi, umarım bu kabul edilebilir bir çözümdür!

İşte birkaç dakika önce (şimdi z-shell kullanarak) Catalina üzerinde çalışma var: - Masaüstümde "Relocated Items" dizini ve "anaconda3" dizini ve içindeki içeriği doğrulandı - "anaconda3" altındaki envs dizini ve bulucu penceresini açık bıraktı (ekran görüntüsüne bakın)

resim açıklamasını buraya girin

SONRA:

  • yeni Terminal açtı (z-kabuk)
  • koştu (bu / usr / local / anaconda3 üzerine kurulur):

    demlemek fıçı yüklemek anaconda

  • yükleme başarılı olduktan sonra ~ / .zshrc dosyamı açtım (z-kabuk takma adlarım için) ve aşağıdaki satırı ekledim:

    ihracat PATH = "/ usr / local / anaconda3 / bin: $ PATH"

  • ~ / .zshrc dosyamı kaydettikten sonra yeniden yükledi:

    kaynak ~ / .zshrc

  • conda komutunun şimdi çalıştığını doğrulamak için koştum:

    conda env listesi

  • benim için bu bir temel env gösterdi ve hepsi bu

  • ardından Finder'ı yeni envs konumuna açın: open / usr / local / anaconda3 / envs /.

  • Tüm eski envlerimi yeni envs klasörüne sürükledim (taşıdım) ve sonra koştum:

    conda env listesi

Ve tüm eski imrenim geri döndü! :)

  • PyCharm yorumcumu / env yollarımı bu kıskançların yeni konumlarını yansıtacak şekilde güncelledi (PyCharm'ı yeniden başlatmak zorunda kaldım, ama şimdi işe yarıyor!)
  • YAPILAN

Önerin için teşekkürler. Bu da işe yarıyor mu virtualenv? Biraz alabilir virtualenvsprogramı "/Users/USER/.virtualenvs/baseline_env/bin/python" Böyle bir dosya ya directory.` In Bulucu Ben de almak yayınlayamaz: Ben `Hata almaya devam olarak pycharm kullanmak mümkün değilim ki"The original item python cannot be found.
rrz0

1
Lütfen daha bozuk bağlantıları düzeltmek için bir araç öneren blog gönderisine bakın: anaconda.com/…
msarahan

1
@ Rrz0 yazdıklarınıza dayanarak virtualenv yolunun yanlış olduğunu düşünüyorum. Bu hacky, ama sanalenv için alabilirsiniz eğer ona yolu kopyalamak ve PyCharm girişleri düzenlemek gerekir düşünüyorum (virtualenvs taşınmış öğeler anlaşma ise o zaman nereye tavsiye için emin değilim koy) - Eski sanal müşterilerinize erişebiliyorsanız, bunları (teker teker) kabuktan etkinleştirip çalıştırabilirsiniz: pip freeze> gereksinimleri_VENV_NAME.txt - PyCharm'da yeni sanal videolar oluşturun - her yeni sanal reklamı etkinleştirin ve çalıştırın: pip install - r gereksinimleri_VENV_NAME.txt
Phil S

Teşekkürler @PhilS, bu çizgiler boyunca bir şey işe yaradı.
rrz0

0

Bunun bir yorum veya en azından geçici bir cevap olarak kabul edildiğinden emin değilim, ancak şimdilik Anaconda ile ilgili herhangi bir Catalina uyumluluk sorununu düzeltmeye çalışmaktan kaçınacağım. Bu GitHub sorununa bakın .


0

Aynı problemim var ve bu iş benim için: Çözümüm:

  1. Anaconda3'ünüzü Relocated Items klasöründen kopyalayın
  2. Kullanıcıya / KullanıcıAdınıza Yapıştır
  3. Editör ve düzenlemek ilk satırı ile anaconda3 / bin aç Conda dosyası #!/anaconda3/bin/pythoniçin#!/Users/YourUserName/anaconda3/bin/python
  4. Kaydet ve conda dosyasını çalıştır
  5. Terminali Aç
  6. Bunu çalıştırın: export PATH=''/Users/YourUserName/anaconda3/bin:$PATH"
  7. Çalıştırmak conda init zsh

virtualenvÖrneğin, python'un da çalışabilmesi için başka değişiklikler yapmam gerekir mi?
rrz0

0

Aynı sorunu yaşadım ve aşağıdaki çözüm benim için çalıştı ve bu en kolay çözüm:

Anaconda3 dosyasını yeniden yerleştirilen öğelerden Kullanıcı / USERNAME dizinine kopyalamak yerine, anaconda navigator'un en son sürümünü resmi web sitesinden yeniden yüklemek daha iyi olur: https://www.anaconda.com/distribution/#macos

Kurulum sırasında, size yeni Apple Güvenlik Politikalarının bir sonucu olan bazı izinler soracaktır, sadece onlara izin verin ve bu yeni kurulumdan sonra olması gerektiği gibi çalışır!


0

Bu benim için işe yaradı.

Bunlar başlık dosyalarım (Catalina 10.15):

/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

Seninkinin sudo find /Library -name stdio.hnerede olduğunu görmek için koş .

Mojave 10.14 başlık dosyaları:

$ sudo find /Library -name stdio.h 
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

Görüldüğü gibi SDK'lar artık Mojave'den farklı olarak MACOSX10.14 ve 10.15'e bölünüyor.

TLDR

Bunlar Catalina'daki SDK klasörlerimdi:

<img width = "208" alt = "image" src = "https://user-images.githubusercontent.com/31866965/67324292-e49a1e00-f513-11e9-997e-9c49e7badbe5.png">

  1. Şununla yeniden adlandır MacOSX.sdk:MacOSX_orig.sdk
  2. Sağ tıklayın MacOSX10.14.sdk
  3. Çiftleme
  4. Yinelenen klasörü şu şekilde yeniden adlandırın: MacOSX.sdk

Klasör yapınız şimdi şöyle görünmelidir:

<img width = "195" alt = "image" src = "https://user-images.githubusercontent.com/31866965/67318914-74d46500-f50c-11e9-879d-ef0cd3e458cc.png">

Bu şekilde temelde önceki sürümün OSX sdk'sini sysroot olarak kullanıyoruz. Bu yardımcı olur umarım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.