web-dev-qa-db-ja.com

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

私はCondaのパッケージ管理が初めてなので、コードにf文字列を使用するように最新バージョンのPythonを入手したいと思います。現在私のバージョンは(python -V)です。

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

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

118
Aryaman

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

これは here からすべて見ることができます

また、force upgrade についてはこれを参照してください。

編集:Anacondaは現在Python 3.6バージョンを持っている ここ

168
Moulick

新しい環境を作ると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 
35
David Stansby

私は見つけました このページ Anacondaを(Anaconda 4.0以降から)Pythonの主要な新しいバージョンにアップグレードするための詳細な説明があります。最初、

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でも同じようになるはずです。

20

過去に、私はその場でアップグレードすることを試みることはかなり難しいと感じました。

注:私のAnacondaのユースケースは、オールインワンのPython環境です。私は別の仮想環境を気にする必要はありません。 condaを使用して環境を作成している場合、condaAnaconda/envsディレクトリ内にハードリンクを含む環境を作成するため、破壊的な可能性があります。

あなたが環境を使用しているのであれば、あなたは最初に あなたの環境をエクスポートしたいと思うかもしれません 。環境をアクティブにしたら、次のようにします。

conda env export > environment.yml

あなたの環境をバックアップした後、必要ならば、あなたはあなたの古いAnacondaを削除することができます(Anacondaをアンインストールするのは非常に簡単):

$ rm -rf ~/anaconda3/

そして、新しいアナコンダをダウンロードすることによってそれを取り替えてください、例えば。 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 
15
Aaron Hall

私は Mac OS Mojaveを使用しています

これらの4つのステップは私のために働きました。

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

私が見つけた最良の方法:

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バージョンと互換性がないか欠けていると判明したいくつかのパッケージのバージョンピンを手動で削除または変更する必要があるかもしれません。

内蔵の、もっと簡単な方法があればいいのに….

0
Alex