conda를 사용하여 Python 3.6으로 업그레이드하려면 어떻게합니까?


171

Conda 패키지 관리를 처음 사용하고 코드에서 f- 문자열을 사용하는 최신 버전의 Python을 얻고 싶습니다. 현재 내 버전은 ( python -V)입니다.

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

Python 3.6으로 어떻게 업그레이드합니까?


두 번째 대답은 더 나은 대답이라고 생각합니다. 특히 최신 및 가장 큰 환경이 지속적으로 업데이트되는 "마스터"/ "기본"환경을 가진 사람들에게 적합합니다.
ericmjl 17

답변:


248

Anaconda는 파이썬을 내부적으로 3.6으로 업데이트하지 않았습니다.

a) 방법 1

  1. 업데이트하려면 다음을 입력하십시오. conda update python
  2. 아나콘다 유형을 업데이트하려면 conda update anaconda
  3. 주요 파이썬 버전을 3.5에서 3.6으로 업그레이드하려면해야합니다.

    conda install python=$pythonversion$

b) 방법 2-새로운 환경 만들기 (더 나은 방법)

conda create --name py36 python=3.6

c) 절대적인 최신 파이썬을 얻으려면 (작성시 3.6.5)

conda create --name py365 python=3.6.5 --channel conda-forge

여기 에서이 모든 것을 볼 수 있습니다

또한 강제 업그레이드에 대해서는 이것을 참조하십시오.

편집 : Anaconda는 이제 Python 3.6 버전을 가지고 있습니다.


18
Continuum이 conda의 작동 방식을 변경하지 않으면 주요 Python 버전을로 업그레이드 할 수 없습니다 conda update python. 여기를 참조하십시오 : conda.pydata.org/docs/py2or3.html#update-or-upgrade-python
darthbith

14
conda install python = $ pythonversion $ 예 : conda install python = 3.6
Tim Richardson

11
conda update python방금 나를 3.6.5에서 3.7.0으로 가져갔습니다. 산뜻한!
fredrik

답변 1.3에는 오타가 있습니다. conda install python=$pythonversion$단일 등호 가 있어야합니다 .
eze1981

참고 방법 a)는 오래는 venv 내에서 종속성을 중단하지 않는 한, 그리고 파이썬의 다른 버전 사이에 변경 작업
Spcogg 두 번째

41

새로운 환경을 만들면 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 

2
conda 설치가 Python 2.7 용인 경우 conda create는 2.7 버전을 만듭니다. 명령을 conda create --name 3point6 python=3( =3끝에 추가) 로 변경 하면 python3 버전이 만들어집니다.
Jonah Graham

1
실제로 것입니다. Python 3.6을 지정하도록 답변을 변경했습니다!
David Stansby

25

Anaconda를 주요 최신 버전의 Python (Anaconda 4.0 이상)으로 업그레이드하는 자세한 지침 이있는이 페이지 를 찾았습니다 . 먼저,

conda update conda
conda remove argcomplete conda-manager

또한 conda remove공식 목록에없는 일부 패키지 가 있어야 했습니다.

  • backports_abc
  • 아름다운 수프
  • 블레이즈 코어

시스템에 설치된 패키지에 따라 추가 UnsatisfiableError오류가 발생할 수 있습니다. 해당 패키지를 제거 목록에 추가하십시오. 다음으로 Python 버전을 설치하십시오.

conda install python==3.6

메시지가 표시된 후 잠시를 걸립니다 conda install anaconda-client, 내가 한 너무

conda install anaconda-client

이미 존재한다고 말했습니다. 마지막으로 지시에 따라

conda update anaconda

Windows 10 명령 프롬프트 에서이 작업을 수행했지만 Mac OS X의 경우와 비슷해야합니다.


18

과거에는 전체 업그레이드를 시도하기가 상당히 어려웠습니다.

참고 : 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 

11

Mac OS Mojave를 사용하고 있습니다

이 4 단계는 나를 위해 일했습니다.

  1. conda update conda
  2. conda install python=3.6
  3. conda install anaconda-client
  4. conda update anaconda

0

내가 찾은 가장 좋은 방법 :

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이 호환되지 않거나 새 파이썬 버전과 누락 된 일부 패키지의 버전 핀을 수동으로 제거하거나 변경해야 할 수도 있습니다 .

내장 된 쉬운 방법이 있었으면 좋겠다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.