Я новачок в управлінні пакетом Conda і хочу отримати останню версію Python для використання f-рядків у своєму коді. Наразі моя версія ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Як би я перейшов до Python 3.6?
Я новачок в управлінні пакетом Conda і хочу отримати останню версію Python для використання f-рядків у своєму коді. Наразі моя версія ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Як би я перейшов до Python 3.6?
Відповіді:
Anaconda не оновив пітон внутрішньо до 3.6.
а) Метод 1
conda update python
conda update anaconda
Якщо ви хочете оновити між основними версіями python, як-от 3,5 до 3,6, вам доведеться це зробити
conda install python=$pythonversion$
б) Спосіб 2 - Створення нового середовища (Кращий метод)
conda create --name py36 python=3.6
в) Отримати абсолютний останній пітон (3.6.5 під час написання)
conda create --name py365 python=3.6.5 --channel conda-forge
Ви можете побачити все це звідси
Також зверніться до цього, щоб оновити силу
EDIT: Anaconda тепер має Python 3.6 версію тут
conda update python
. Дивіться тут: conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
conda update python
просто взяв мене з 3,6,5 до 3,7,0. Акуратно!
conda install python=$pythonversion$
з єдиним знаком рівності.
Створення нового середовища встановить python 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
(додавання =3
в кінці) робить версію python3.
Я знайшов цю сторінку з докладними інструкціями щодо оновлення Anaconda до основної нової версії Python (від Anaconda 4.0+). Перший,
conda update conda
conda remove argcomplete conda-manager
Я також повинен був отримати conda remove
деякі пакети, які не є в офіційному списку:
Залежно від пакунків, встановлених у вашій системі, ви можете отримати додаткові UnsatisfiableError
помилки - просто додайте їх до списку видалення. Далі встановіть версію Python,
conda install python==3.6
який займає деякий час, після чого повідомлення вказується на те conda install anaconda-client
, що я і зробив
conda install anaconda-client
який сказав, що вже є. Нарешті, дотримуючись вказівок,
conda update anaconda
Я робив це в командному рядку Windows 10, але в Mac OS X все має бути подібним.
У минулому мені було досить важко намагатися оновити на місці.
Примітка: мій приклад використання для Anaconda - це всебічне середовище Python. Я не переймаюся окремими віртуальними середовищами. Якщо ви використовуєте conda
для створення середовищ, це може бути руйнівним, оскільки conda
створює середовища з жорсткими посиланнями всередині вашого Anaconda/envs
каталогу.
Отже, якщо ви використовуєте середовища, ви можете спочатку експортувати свої середовища . Після активації оточення зробіть щось на кшталт:
conda env export > environment.yml
Після створення резервної копії вашого середовища (якщо потрібно) ви можете видалити стару Anaconda (видалити Anaconda дуже просто):
$ rm -rf ~/anaconda3/
і замініть його, завантаживши нову анаконда, наприклад, 64-бітний Linux:
$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
а потім виконати його:
$ bash Anaconda3-4.3.0-Linux-x86_64.sh
Я використовую Mac OS Mojave
Ці 4 кроки працювали для мене.
conda update conda
conda install python=3.6
conda install anaconda-client
conda update anaconda
Найкращий метод, який я знайшов:
source activate old_env
conda env export > old_env.yml
Потім обробіть це приблизно так:
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)
потім відредагуйте вручну перший ( name: ...
) та останній рядок ( prefix: ...
), щоб відобразити нове ім’я середовища та запустіть:
conda env create -f new_env.yml
вам може знадобитися видалити або змінити вручну штифт версії з декількох пакетів, для яких встановлена версія old_env
виявляється несумісною або відсутня для нової версії python.
Я б хотів, щоб був вбудований простіший спосіб ...