Jestem nowy w zarządzaniu pakietami Conda i chcę uzyskać najnowszą wersję Pythona, aby używać f-stringów w moim kodzie. Obecnie moja wersja to ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Jak zaktualizować do Pythona 3.6?
Jestem nowy w zarządzaniu pakietami Conda i chcę uzyskać najnowszą wersję Pythona, aby używać f-stringów w moim kodzie. Obecnie moja wersja to ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Jak zaktualizować do Pythona 3.6?
Odpowiedzi:
Anaconda nie zaktualizowała wewnętrznie Pythona do wersji 3.6.
a) Metoda 1
conda update python
conda update anaconda
Jeśli chcesz dokonać aktualizacji między głównymi wersjami Pythona, takimi jak 3.5 do 3.6, będziesz musiał zrobić
conda install python=$pythonversion$
b) Metoda 2 - Utwórz nowe środowisko (Lepsza metoda)
conda create --name py36 python=3.6
c) Aby uzyskać absolutnie najnowszy Python (3.6.5 w momencie pisania)
conda create --name py365 python=3.6.5 --channel conda-forge
Możesz to wszystko zobaczyć stąd
Odnieś się również do tego, aby wymusić aktualizację
EDYCJA: Anaconda ma teraz tutaj wersję Pythona 3.6
conda update python
. Zobacz tutaj: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
conda update python
właśnie zabrał mnie z 3.6.5 do 3.7.0. Schludny!
conda install python=$pythonversion$
pojedynczy znak równości.
Utworzenie nowego środowiska spowoduje zainstalowanie Pythona 3.6:
$ 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
(dodanie =3
na końcu) tworzy wersję python3.
Znalazłem tę stronę ze szczegółowymi instrukcjami aktualizacji Anacondy do ważniejszej nowszej wersji Pythona (z Anacondy 4.0+). Pierwszy,
conda update conda
conda remove argcomplete conda-manager
Miałem też do conda remove
niektórych paczek nie na oficjalnej liście:
W zależności od pakietów zainstalowanych w systemie możesz otrzymać dodatkowe UnsatisfiableError
błędy - po prostu dodaj te pakiety do listy usuniętych. Następnie zainstaluj wersję Pythona,
conda install python==3.6
co trochę trwa, po czym komunikat wskazał conda install anaconda-client
, więc tak zrobiłem
conda install anaconda-client
który powiedział, że już tam jest. Wreszcie, postępując zgodnie ze wskazówkami,
conda update anaconda
Zrobiłem to w wierszu poleceń systemu Windows 10, ale w systemie Mac OS X powinno być podobnie.
W przeszłości próbowanie aktualizacji na miejscu było dla mnie dość trudne.
Uwaga: mój przypadek użycia dla Anaconda to środowisko Pythona typu wszystko w jednym. Nie przejmuję się oddzielnymi środowiskami wirtualnymi. Jeśli używasz conda
do tworzenia środowisk, może to być destrukcyjne, ponieważ conda
tworzy środowiska z twardymi linkami w twoim Anaconda/envs
katalogu.
Jeśli więc używasz środowisk, możesz najpierw wyeksportować swoje środowiska . Po aktywowaniu środowiska zrób coś takiego:
conda env export > environment.yml
Po utworzeniu kopii zapasowej środowisk (jeśli to konieczne), możesz usunąć starą Anacondę (bardzo łatwo jest odinstalować Anacondę):
$ rm -rf ~/anaconda3/
i zastąp go, pobierając nową Anacondę, np. Linux, 64 bit:
$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
( zobacz tutaj, aby zobaczyć nowsze ),
a następnie wykonuję to:
$ bash Anaconda3-4.3.0-Linux-x86_64.sh
Używam Mac OS Mojave
Te 4 kroki zadziałały dla mnie.
conda update conda
conda install python=3.6
conda install anaconda-client
conda update anaconda
Najlepsza metoda, jaką znalazłem:
source activate old_env
conda env export > old_env.yml
Następnie przetwórz to za pomocą czegoś takiego:
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)
następnie edytuj ręcznie pierwszą ( name: ...
) i ostatnią linię ( prefix: ...
), aby odzwierciedlić nową nazwę środowiska i uruchom:
conda env create -f new_env.yml
może zajść potrzeba ręcznego usunięcia lub zmiany numeru PIN wersji kilku pakietów, dla których przypięta wersja old_env
jest niezgodna lub brakująca w nowej wersji Pythona.
Chciałbym, żeby był wbudowany, łatwiejszy sposób ...