Я новичок в управлении пакетами 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?
Ответы:
Анаконда не обновила Python внутри до 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
Вы можете увидеть все это здесь
Кроме того, обратитесь к этому для принудительного обновления
РЕДАКТИРОВАТЬ: 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/
и замените его, загрузив новую Anaconda, например, Linux, 64 бит:
$ 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)
затем отредактируйте вручную first ( name: ...
) и last line ( prefix: ...
), чтобы отразить имя вашей новой среды, и запустите:
conda env create -f new_env.yml
вам может потребоваться удалить или вручную изменить вывод версии нескольких пакетов, для которых закрепленная версия old_env
признана несовместимой или отсутствует для новой версии Python.
Хотелось бы, чтобы был встроенный, более простой способ ...