Conda paket yönetiminde yeniyim ve kodumda f-dizeleri kullanmak için Python'un en son sürümünü almak istiyorum. Şu anda benim sürümüm ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Python 3.6'ya nasıl yükseltebilirim?
Conda paket yönetiminde yeniyim ve kodumda f-dizeleri kullanmak için Python'un en son sürümünü almak istiyorum. Şu anda benim sürümüm ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Python 3.6'ya nasıl yükseltebilirim?
Yanıtlar:
Anaconda dahili olarak pitonu 3.6'ya güncellemedi.
a) Yöntem 1
conda update python
conda update anaconda
3.5 ila 3.6 gibi büyük python sürümleri arasında yükseltme yapmak istiyorsanız,
conda install python=$pythonversion$
b) Yöntem 2 - Yeni bir ortam oluşturma (Daha İyi Yöntem)
conda create --name py36 python=3.6
c) Mutlak son python'u elde etmek için (yazma sırasında 3.6.5)
conda create --name py365 python=3.6.5 --channel conda-forge
Sen tüm bu görebilirsiniz burada
Ayrıca, güç yükseltme için buna bakın
DÜZENLEME: Anaconda şimdi Python 3.6 sürümüne sahip burada
conda update python
. Buraya bakın: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
conda update python
beni 3.6.5'ten 3.7.0'a götürdü. Temiz!
conda install python=$pythonversion$
tek eşittir işareti ile.
Yeni bir ortam oluşturmak python 3.6'yı kuracaktır:
$ conda create --name 3point6 python=3.6
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /Users/dstansby/miniconda3/envs/3point6:
The following NEW packages will be INSTALLED:
openssl: 1.0.2j-0
pip: 9.0.1-py36_1
python: 3.6.0-0
readline: 6.2-2
setuptools: 27.2.0-py36_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py36_0
xz: 5.2.2-1
zlib: 1.2.8-3
conda create --name 3point6 python=3
( =3
sonunda ekleme) olarak değiştirmek python3 sürümünü yapar.
Bu sayfayı Anaconda'yı Python'un daha yeni bir sürümüne (Anaconda 4.0+'den) yükseltmek için ayrıntılı talimatlarla buldum . İlk,
conda update conda
conda remove argcomplete conda-manager
Ayrıca conda remove
resmi listede olmayan bazı paketlere de ihtiyacım vardı :
Sisteminizde kurulu paketlere bağlı olarak, ek UnsatisfiableError
hatalar alabilirsiniz - bu paketleri kaldırma listesine eklemeniz yeterlidir. Ardından, Python sürümünü yükleyin,
conda install python==3.6
bu biraz zaman alır, bundan sonra bir mesaj gösterilir conda install anaconda-client
, bu yüzden
conda install anaconda-client
zaten orada olduğunu söyledi. Son olarak, talimatları takip ederek,
conda update anaconda
Bunu Windows 10 komut isteminde yaptım, ancak Mac OS X'te işler benzer olmalı.
Geçmişte, yerinde yükseltmeyi denemek oldukça zor buldum.
Not: Anaconda için kullanım durumum, hepsi bir arada Python ortamı olarak. Ayrı sanal ortamlarla uğraşmıyorum. Ortam conda
oluşturmak için kullanıyorsanız , bu yıkıcı olabilir çünkü dizininizde conda
sabit bağlantılı ortamlar oluşturur Anaconda/envs
.
Dolayısıyla, ortam kullanıyorsanız, öncelikle ortamlarınızı dışa aktarmak isteyebilirsiniz . Ortamınızı etkinleştirdikten sonra aşağıdaki gibi bir şey yapın:
conda env export > environment.yml
Ortamlarınızı yedekledikten sonra (gerekirse) eski Anaconda'nızı kaldırabilirsiniz (Anaconda'yı kaldırmak çok basittir):
$ rm -rf ~/anaconda3/
ve yeni Anaconda'yı (ör. Linux, 64 bit) indirerek değiştirin:
$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
( daha yenisi için buraya bakınız ),
ve ardından yürütün:
$ bash Anaconda3-4.3.0-Linux-x86_64.sh
Ben kullanıyorum , Mac OS Mojave
Bu 4 adım benim için çalıştı.
conda update conda
conda install python=3.6
conda install anaconda-client
conda update anaconda
Bulduğum en iyi yöntem:
source activate old_env
conda env export > old_env.yml
Sonra böyle bir şeyle işleyin:
with open('old_env.yml', 'r') as fin, open('new_env.yml', 'w') as fout:
for line in fin:
if 'py35' in line: # replace by the version you want to supersede
line = line[:line.rfind('=')] + '\n'
fout.write(line)
ardından yeni ortam adınızı yansıtacak şekilde ilk ( name: ...
) ve son satırı ( prefix: ...
) elle düzenleyin ve çalıştırın:
conda env create -f new_env.yml
sabitlenmiş sürümün old_env
yeni python sürümü için uyumsuz veya eksik olduğu birkaç paketin sürüm pinini manuel olarak kaldırmanız veya değiştirmeniz gerekebilir .
Keşke yerleşik, daha kolay bir yol olsaydı ...