Tensorflow'u kurmaya çalışıyorum ama bir Python 3.6 kurulumuna ihtiyacı var ve sadece Python 3.7 yüklüyüm. Brew ve pyenv kullanarak geçiş yapmaya çalıştım ama işe yaramıyor.
Bu sorunu çözmenin bir yolunu bilen var mı?
Tensorflow'u kurmaya çalışıyorum ama bir Python 3.6 kurulumuna ihtiyacı var ve sadece Python 3.7 yüklüyüm. Brew ve pyenv kullanarak geçiş yapmaya çalıştım ama işe yaramıyor.
Bu sorunu çözmenin bir yolunu bilen var mı?
Yanıtlar:
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
$ pip install tensorflow
pip install tensorflow
bir virtualenv veya conda env oluşturmadan önce bunu etkinleştirmenizi ve sonunda kullanmanızı öneririmpip install tensorflow
$ brew cleanup
komut kullanmadıysanız) ilk iki satırı atlayabilirsiniz
apt
eklemeyi deneyebilirsiniz deadsnakes
PPA olduğu paketler eski piton sürümleri: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , ancak yalnızca çalışır Uzun Süreli Destek (LTS) Ubuntu sürümleri vardır, 14.04, 16.04, 18.04 ve 20.04 , bu yorumu 2020'de yazıyorum.
Anaconda ile çalışıyorsanız, o zaman
conda install python=3.5.0
# or maybe
conda install python=2.7.8
# or whatever you want....
çalışabilir.
conda
Linux kullanmadan başka bir çözüm var mı?
UnsatisfiableError:The following specifications were found to be in conflict: - python=3.5.0 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> readline=7 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> tk=8.6
Python 3.6.0'ı şuradan indirin: https://www.python.org/downloads/release/python-360/ adresinden
Normal bir paket olarak kurun.
Çalıştırmak cd /Library/Frameworks/Python.framework/Version
Çalıştır ls
komutunu ve kurulu tüm Python sürümleri burada görünecektir.
Çalıştırmak sudo rm -rf 3.7
Şimdi sürümü kontrol edin ve şimdi python3 -V
3.6 olacak.
Conda kullanarak bir python sanal ortamı oluşturun ve ardından tensorflow'u kurun:
$ conda create -n [environment-name] python=3.6
# it may ask for installing python-3.6 if you don't have it already. Type "y" to proceed...
$ activate [environment-name]
$ pip install tensorflow
Bundan böyle, tensorflow'u her kullanmak istediğinizde ortamı etkinleştirebilirsiniz .
Conda paket yöneticiniz yoksa, önce buradan indirin: https://www.anaconda.com/distribution
İşte Python'un çalıştığı işletim sistemi çeşitliliği için farklı çözümleri özetleyen kanonik bir özet. Aşağıdakiler Microsoft Windows , Linux , macOS ve Misc için olasılıklardır .
Bahsedildiği gibi bunlar sadece olasılıklardır - hiçbir şekilde tam bir listeye sahip olduğumu iddia etmiyorum.
Genel olarak, sanal ortamların kullanılması önerilir (resmi Python belgelerine bakmanızı şiddetle tavsiye ederim ). Bu yaklaşımla, projeye özgü Python sürümlerini (ve ayrıca kitaplıkları) kolayca kurabilirsiniz. Kolayca yönetilebilir ve en iyi bölüm: İnternette buna nasıl yaklaşılacağına dair birçok öğretici var:
1.) Komut istemini ("cmd") açın ve girin pip install virtualenv
.
2.) İstediğiniz Python sürümünü https://www.python.org/downloads/release aracılığıyla kurun ; Unutmayın: eklemeyinPATH
!
3.) : istemi komutuyla içine yazın virtualenv \path\to\env -p \path\to\python_install.exe
ise \path\to\env
olmalıdır sanal ortam olacak yolu ve\path\to\python_install.exe
senin taze (muhtemelen) Python sürümü Oturuyor yüklü bir.
4.) Bitti! Artık bir sanal ortam kurulumuna sahipsiniz! Şimdi, sanal ortamı etkinleştirmek için \path\to\env\Scripts\activate.bat
. (cf. bu web sitesi veya resmi bir Python kılavuzu )
Temel seçenek, istenmeyen Python sürümünü kaldırmak ve tercih edilen sürümü https://www.python.org/downloads/ adresinden yeniden yüklemek olacaktır . "Eski" sürümü kaldırmak için Control Panel
-> "Uninstall a program"
-> Search for "Python"
-> Right-click on the Python name
-> seçeneğine gidin Uninstall
. Python'un genellikle depolanan bir PATH değişkenine sahip olduğunu unutmayın, bu nedenle onu da kaldırmanız gerekir - Bunun için aşağıdaki bağlantıları kontrol edin:
Şimdi, Python'un depolandığı yerde kalan dosya olup olmadığını iki kez kontrol edin. Genellikle, ya hiç Python dosyaları bulabilirsiniz C:\Program Files (x86)\Pythonxx
, C:\Users\username\AppData\Local\Programs\Pythonxx
ya daC:\Pythonxx
ya da hepsi. Başka bir dizine yüklemiş olabilirsiniz - bir zamanlar nerede olduğunu kontrol edin.
Şimdi yüklemeyi kaldırdıktan sonra, indirme sayfasına giderek istenen sürümü yeniden yükleyin ve normal kurulum sürecini izleyin. Python'un nasıl kurulacağına dair ayrıntılara girmeyeceğim. . Son olarak, komut istemini açıp yazarak şu anda hangi sürümün yüklü olduğunu kontrol edebilirsiniz python -V
.
Bu yaklaşım ikincisine oldukça benzer - temelde eskisini kaldırır ve tercih ettiğiniz sürümle değiştirirsiniz. İstenmeyen Python dağıtımının nasıl kaldırılacağına ilişkin kısmı değiştiren tek şey: Başlangıçta Python'u kurmak için kullandığınız Python3 yükleyicisini çalıştırın (genellikle yukarıda belirtildiği gibi Python dizininizde saklanır; daha fazla yardım için buna bakın ). Orada , kaldırıcı aracılığıyla sağlanan adımları repair or uninstall
seçerek devam etme uninstall
ve takip etme seçeneği elde edersiniz .
Python'u nasıl kaldırırsanız kaldırın (bu konuda birçok kaynak vardır, örneğin bu Stack Overflow sorusu veya Stack Exchange sitesinde Super User'da yayınlanan Vincent Tang adıyla bir kullanıcı problem dizisi vb.), Sadece aranan Python sürümünde belirtilen adımları takip ederek .Option 2
4. seçenek Anaconda ile ilgilidir. Lütfen Anaconda'nın Windows'a nasıl kurulacağını öğrenmek için bu siteye bakın . Step 9
varsayılan Python'unuz olarak kurmak istemediğiniz için önemlidir - Python'un birden çok sürümünü çalıştırmak istiyorsunuz :
Anaconda'yı varsayılan Python'unuz olarak kaydedip kaydetmeyeceğinizi seçin. Birden fazla Anaconda sürümünü veya Python'un birden çok sürümünü kurmayı ve çalıştırmayı planlamıyorsanız, varsayılanı kabul edin ve bu kutuyu işaretli bırakın.
Yukarıda bağlantılandırdığım resmi öğreticiyi takip edin.
Bitmiş kez tek tek Kobrayla istemi aşağıdaki komutları oluşturabilirsiniz: Varsayılan piton sürümü üzerine yazmak için sistem akıllıca kullanımını conda install python=3.6
veya sanal ortam yaratmak için devam edin ve kullanım conda create -n $PYTHON36_ENV_NAME python=3.6 anaconda
oysa $PYTHON36_ENV_NAME
ayarlayabileceğiniz özel adıdır. Kredi vadesi Kredi - kullanıcı @CermakM gelen bu konuya şiddetle bu pasajı etkiledi.
Araştırmamda bir sürü faydalı Stack Overflow ipliği ile karşılaştım - Anaconda ile zorlu yola giderseniz bunları kontrol edebilirsiniz:
Takip eden şey klasik anlamda bir indirgeme değil - yine de bütünlük adına bu yaklaşıma da değinmeye karar verdim. Windows'ta birden fazla Python sürümünü de çalıştırabilirsiniz - StackOverflow'daki kötü şöhretli bir iş parçacığı bu soruyla ilgilenir, bu nedenle sizi daha fazla okuma amacıyla kibarca oraya yönlendiriyorum .
Windows için üçüncü seçeneğe oldukça benzer, Anaconda gibi sanal bir ortam kullanmanızı şiddetle tavsiye ederim. Anaconda - veya kısa conda - Linux'ta da mevcuttur. Resmi kurulum belgelerine buradan bakın . Bir kez daha bu iş parçacığı , bir Python sürümünün üzerine nasıl yazılacağı ve sırasıyla istediğiniz Python sürümünüzle özel olarak nasıl bir ortam yaratılacağı konusunda şiddetle tavsiye edilmektedir.
Çokça önerilen bir başka sanal ortam da Pyenv
. @Sawan Vaidya kullanıcısı , bu Stack Overflow sorusunda Python sürümünün nasıl yükseltileceğini veya düşürüldüğünü Pyenv
. Bir Python sürümünü global olarak ayarlayabilir veya yerel bir ortam oluşturabilirsiniz - her ikisi de bahsedilen başlıkta açıklanmıştır.
@Jeereddy adlı başka bir kullanıcı, yazılım paketi yönetim sistemini kullanmayı önerdi Homebrew
. Bu seçeneği şu anki soruda iyice açıkladı :
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
Tekerleği yeniden icat etmeye gerek yok - bu iş parçacığı @Sidharth Taneja'nınki gibi birçok güzel koşu yaklaşımıyla dolu .
normal package
.cd /Library/Frameworks/Python.framework/Version
ls
Tüm yüklü Python sürümlerini listelemek için yürütünsudo rm -rf 3.7
, Python sürüm 3.7'yi kaldırın - silmek istediğiniz sürüm (ler) için tekrar edilebilirpython3 -v
, başlangıçta yüklemek istediğiniz sürümü görüntülemelidirBu iplik ne bir altın madeni ! As @nondetermistic derinlemesine (doğrudan bağlantı nitelendirdi görevinden ):
Python kaynak kodunu şu şekilde kurun:
#Taken Python 3.6 as an example
$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall
Artık bunlardan indirilen sürüm (ekleyebildiğimizde /home/<user>/python3.6/bin
kadar) PATH
yanı sıra lib
hiç LD_LIBRARY_PATH
bir sanal ortam ya da sadece oluşturun: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6
. Sisteminizde birden çok Python sürümünü çalıştırmak için çok estetik ve basit bir çözüm .
Kullanımı pyenv
ile Homebrew
kredi - @Shayan onun cevap burada :
1.) takma pyenv
ile Homebrew
:
brew update
brew install pyenv
2.) En son pyenv
sürümü almak için GitHub deposunu klonlamak :
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
3.) Ortam değişkenlerini aşağıdaki gibi tanımlama
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
4.) Kabuğu yeniden başlatmak, böylece PATH
değişiklik işe yarıyor
exec "$SHELL"
5.) Mevcut Python sürümlerini kontrol etmek
pyenv install --list
6.) İstenen Python sürümünü yükleme, örneğin 3.6
pyenv install 3.6
7.) Küresel olarak ayarlamak ( ayrıca devam edebilir ve yalnızca belirli bir ortamda kullanabilirsiniz )
pyenv global 3.6
8.) Sistemin kullandığı Python sürümünü kontrol edin - istenen / eski sürümünüz burada görüntülenmelidir.
python3 --version
Önceki yaklaşımlara benzer şekilde Anaconda'yı macOS'ta da indirebilirsiniz . Kurulum kılavuzu için buraya tıklayın . Zaten tarif ettik kullanımı hemen hemen aynıdır Option 4
ait Windows
rehber. Lütfen yukarıya bakın.
Bu durumda oldukça tekrarlanıyor. Daha fazla okumak için aşağıdaki kaynakları incelemenizi rica ederim:
Bu yazıyı yazarken, çizgiyi nereye çekeceğimi bilememe sorunu yaşadım. Python'un şu anda desteklediği işletim sistemlerine bakarken, bahsettiklerim de dahil olmak üzere, Linux , Microsoft Windows ve macOS gibi büyük bir liste alırsınız. , ancak açıkça farklı Linux dağıtımları tek başına ele alınır, örneğin CentOS, Arch Linux veya Fedora, aynı zamanda - yoksa Windows 10, 7 vb. için ayrı seçenekler mi yapmalıyım?
Homebrew, Conda veya benzeri modüller söz konusu olduğunda yüksek tekrarlama derecesi nedeniyle, listemi Ubuntu gibi dağıtımlarla "ana üç" işletim sistemiyle sınırlamaya karar verdim (Python sürümümü 3.7.5'ten nasıl düşürürüm? ubuntu'da 3.6.5'e ), CentOS ( CentOS'ta python sürümü nasıl düşürülür? ) Stack Overflow'da kolayca araştırılabilir. Çoğu zaman , söz konusu dağıtımlar için Linux sekmesinden çözümler uygulayabilirsiniz . Aynısı Windows ve macOS (sürümler) için de geçerlidir.
Önceki bir sürümü kaldırmadan veya Anaconda veya docker gibi ek yazılımlara geri dönmeden temiz bir yol, Python 3.6 kaynak kodunu indirmek ve aşağıdaki gibi kurmaktır:
$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall
Kullanmak için siz:
eklemek /home/<user>/python3.6/bin
için için PATH
(ve lib
hiç LD_LIBRARY_PATH
) ve onunla yapılabilir. (Ayrıca tam olarak neyi başarmaya çalıştığınıza bağlı olarak dahil etme yolunuza eklemeniz gerekebilir - ama umarım fikri anlarsınız.);
ya, buna benzer bir sanal ortam yaratmak: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6
.
Sudo veya root erişimi gerekmez. Sisteminizi bozmak yok.
Tensorflow'u python 3.7 ile kurarken sorun yaşıyordum ve python3.6 ile sanal bir ortam kurulumuna sahip olmak için bu talimatları izledim ve çalıştırdım
Download the Python3.6 tgz file from the official website (eg. Python-3.6.6.tgz)
Unpack it with tar -xvzf Python-3.6.6.tgz
cd Python-3.6.6
run ./configure
run make altinstall to install it (install vs altinstall explanation here
tensorflow için python3.6 sanal ortamı kurma
Jupyter not defteri veya jupyter laboratuvarı kullanıyorsanız, bu doğru sanal ortamı seçmenizde yardımcı olabilir
python -m venv projectname
source projectname/bin/activate
pip install ipykernel
ipython kernel install --user --name=projectname
Bu noktada jupyter'ı başlatabilir, yeni bir defter oluşturabilir ve ortamınızda yaşayan çekirdeği seçebilirsiniz.
sanal ortam ve jupyter defterler
Bu yardımcı olur umarım
pyenv
python sürüm yönetimi için Linux / MacOS'ta kullanılabilir. pyenv-win
çatal mıpyenv
Windows üzerinde de kullanılabilir.
Mac Catalina'da test edildi
Kurun pyenv
.
brew install pyenv
Kabuk yapılandırma dosyanıza aşağıdakileri ekleyin:
.bashrc
/ .bash_profile
- Bash için.zshrc
- Zsh içinexport PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
Kabuğunuzu yeniden başlatın. Yeni bir kabuk exec "$SHELL"
başlatın veya mevcut kabuğunuzda çalıştırın .
Arch Linux'ta test edildi
pyenv
Sisteminize kurun .
curl https://pyenv.run | bash
MacOS kurulumunun 2. ve 3. Adımlarındaki aynı adımları izleyin.
pyenv-win
Windows'a yükleyin .
Powershell'de
pip install pyenv-win --target "$HOME\.pyenv"
Cmd.exe içinde
pip install pyenv-win --target "%USERPROFILE%\.pyenv"
Powershell / Terminal kullanarak ortam değişkenlerini ayarlayın.
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('path', $HOME + "\.pyenv\pyenv-win\bin;" + $HOME + "\.pyenv\pyenv-win\shims;" + $env:Path,"User")
Terminalinizi kapatıp yeniden açın. Çalıştırmakpyenv --version
Terminalde .
a. Dönüş değeri pyenv'in kurulu sürümü ise, aşağıdan devam edin. b. Bir komut bulunamadı hatası alırsanız, ortam değişkenlerinin GUI aracılığıyla doğru şekilde ayarlandığından emin olun: Bu PC → Özellikler → Gelişmiş sistem ayarları → Gelişmiş → Ortam Değişkenleri ... → PATH c. Bir komut bulunamadı hatası alırsanız ve yerleşik bir terminalle Visual Studio Code veya başka bir IDE kullanıyorsanız, yeniden başlatın ve tekrar deneyin.
Ana dizinden çalıştırın pyenv rehash
.
pyenv versions
Misal
$ pyenv versions
* system (set by /home/souser/.pyenv/version)
3.6.9
pyenv install <version-number>
pyenv uninstall <version-number>
pyenv global <version-number> # <version-number> is the name assigned to your python in output of `pyenv versions`
Misal
$ python --version
Python 3.9.1
$ pyenv global 3.6.9
$ python --version
Python 3.6.9
Bir dizin ve tüm alt dizinleri için bir python sürümü ayarlayın
pyenv local <version-number> # <version-number> is the name assigned to your python in output of `pyenv versions`
Misal
~/tmp/temp$ python --version
Python 3.9.1
~/tmp/temp$ pyenv local 3.6.9
~/tmp/temp$ python --version
Python 3.6.9
Daha fazla ayrıntı için Github depolarını kontrol edebilirsiniz: pyenv ve pyenv-win .
Yeni bir sanal ortam oluşturmanızı ve tüm paketleri baştan kurmanızı öneririm çünkü bazı paketlerin tekerlekleri Python'un önceki sürümü için kurulmuş olabilir. Bunun en güvenli yol olduğuna inanıyorum ve iki seçeneğiniz var.
Aşağıdakilerle yeni bir sanal ortam oluşturmak venv
:
python3.6 -m venv -n new_env
source venv_env/bin/activate
Bir conda
ortam yaratmak :
conda create -n new_env python=3.6
conda activate new_env
Bir ortama kurduğunuz paketler, ortamın Python sürümüne göre oluşturulur ve mevcut ortamı dikkatlice değiştirmezseniz, paketler arasında bazı uyumsuzluklara neden olabilirsiniz. Bu nedenle Python 3.6 ile oluşturulmuş yeni bir ortamın kullanılmasını tavsiye ederim.
Python 3.6'yı indirip kurun ve ardından sistem yolu ortam değişkenini python 3.6'ya değiştirin ve python 3.7 yol sistemi ortam değişkenini silin. Sonuçlar için bilgisayarı yeniden başlatın.
Anaconda kullanıyorsanız, belirtilen sürümle yeni bir ortam oluşturabilirsiniz. Eğer mevcut sürümün 3.7 tutmak istemiyoruz, sadece onu kaldırmak ve yükleyebilirsiniz burada .
Sistemlerine birden çok Python sürümü eklemek isteyenler için: Aşağıdaki komutları çalıştırarak kolayca birden çok yorumlayıcı ekliyorum:
Python 3.9'umu 3.6'ya düşürdüm çünkü librosa paketini kullanmak istedim, ancak şu anda Python 3.9'u desteklemiyor.
Adımlar -
python3 --version
Terminalde çalıştırın ve Python'un bu sürümünü gösterecektir.
conda create -n myenv python=3.6
vesource activate myenv