condaを使用してPython 3.6にアップグレードするにはどうすればよいですか?


171

私はCondaパッケージ管理の初心者で、コードでf-stringsを使用できるように最新バージョンのPythonを入手したいと考えています。現在、私のバージョンは(python -V)です。

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

Python 3.6にアップグレードするにはどうすればよいですか?


2番目の答えは、特に、最新かつ最高のものが継続的に更新される「マスター」/「デフォルト」環境を持っている人にとっては、より良い答えだと思います。
ericmjl 2017

回答:


248

Anacondaは内部でPythonを3.6に更新していません。

a)方法1

  1. 更新したい場合は、次のように入力します conda update python
  2. アナコンダタイプを更新するには conda update anaconda
  3. 3.5から3.6のようなPythonのメジャーバージョン間でアップグレードしたい場合は、

    conda install python=$pythonversion$

b)方法2-新しい環境を作成する(より良い方法)

conda create --name py36 python=3.6

c)絶対最新のpythonを入手するには(執筆時点では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 python3.6.5から3.7.0に変更しました。きちんと!
fredrik、

答えに誤植がある、方法1.3。conda install python=$pythonversion$等号が1つ必要です。
eze1981

FYIメソッドa)は、env内の依存関係を壊さない限り、Pythonの異なるバージョン間での変更にも機能します
Spcogg、2

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バージョンになります。
ジョナグラハム

1
確かに。私は答えをpython 3.6を指定するように変更しました!
David Stansby 2017年

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環境の作成に使用している場合condaAnaconda/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が新しいpythonバージョンと互換性がないか見つからないいくつかのパッケージのバージョンピンを手動で削除または変更する必要がある場合があります。

組み込みの簡単な方法があればいいのに...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.