質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

5656閲覧

Anacondaインストール後にconda install pythonでダウングレードした後の事象について

quiqui59911225

総合スコア16

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

2クリップ

投稿2019/06/10 05:17

環境

Ubuntu 16.04

起こったこと

Anacondaを入れてpython3.7の環境を構築しました。
その後tensorflow入れたいって思って、(たぶん古いバージョンの)tensorflowがpython3.7だとうまく入らないらしく、python3.6にダウングレードしようと思い、

terminal

1$ conda install python==3.6.6 2$ pip install tensorflow-gpu==1.11.0

としました。その時はうまくいき、次のようにすればtensorflowをインポートできました。

$ python >>> import tensorflow >>>

しかし、その後からか、ターミナルで、(base)と表示されるようになりました。これは、conda環境がactivateされてるのが原因ぽいことを知りました。
ここを参照

以下を実行して、conda環境を無効化してみました。

terminal

1(base) user@hoge $ conda config --set auto_activate_base False # この後ターミナル再起動

すると、pythonバージョンは以下のようになりました。

terminal

1$ python -V 2Python 2.7.12 3$ python3 -V 4Python 3.5.2

condaをactivateしていると次のようになります。

terminal

1$ config --set auto_activate_base True 2# ターミナル再起動。この後、baseと表示されるようになる。 3(base) $ python -V 4Python 3.6.6 :: Anaconda, Inc. 5(base) $ python3 -V 6Python 3.6.6 :: Anaconda, Inc. 7(base) $ python -V 8Python 2.7.12

質問

これまで私は、(base)という表示がない状態で、AnacondaのPython3.7の環境を使っていたと思います(ターミナルでpythonとすれば、暗にpython3.7が)。今回、conda install python==3.6.6でAnacondaのPythonバージョンはおそらくダウングレードされました。

・conda install python==3.6.6の他に、Anaconda環境のpythonのバージョンを変える(ダウングレードする)方法はありますか?

・(base)をターミナルに表示させずに、AnacondaのPython3.6をグローバルに設定できますか?

・最後に、

terminal

1$ conda install python==3.6.6 2$ pip install tensorflow-gpu==1.11.0

をした後、tensorflowがインポートできたと話しましたが、その後ターミナルを再起動して(base)が表示されるようになり、再び

terminal

1$ python 2>>> import tensorflow

とすると、NotFoundエラーが出ました。condo install python==3.6.6した直後(ターミナル再起動する前)のpip install tensorflow はたぶんデフォルトのUbuntuのpython3.5.2に入ったと思います。このように、UbuntuのpythonとAnacondaのpythonの両方にライブラリ(今回はtensorflow)を入れたりすることはよろしくないですか?

長文失礼いたしました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Anacondaの既定の設定が変更されて、Ubuntuの場合であれば、以前は.bashrcで PATH をの設定をしていたのですが、最後にあるように変更されてcondaコマンドのみが有効になるようになっています。

質問の最初にある以下のコマンドを入力した時に、既にそのように変更されていて、pip install tensorflow-gpuで、python2.7の方にインストールされたと思われます。

terminal

1$ conda install python==3.6.6 2$ pip install tensorflow-gpu==1.11.0

現状の設定だと、(base)をターミナルに表示させた状態でないと、Anacondaの管理をすることはできません。もし、(base)をターミナルに表示させたくないのであれば、.bashrcを編集してexport PATH="/home/user/anaconda3/bin:$PATH"を復活させる必要がありますが、そうするとAnacondaがUbuntuのコマンドを乗っ取るという副作用があります。だから、現状のように変更されたのです。

現状の設定だと、UbuntuのpythonとAnacondaのpythonの両方にライブラリを入れて、両方を使い分けても何の問題ありません。もし、Anacondaに PATH を通した場合は、Ubuntu側のpythonはフルパスで入力しないと使えなくなるし、起動してもライブラリーの関係で問題が発生するので事実上使えません。

bash

1# added by Anaconda3 5.3.1 installer 2# >>> conda init >>> 3# !! Contents within this block are managed by 'conda init' !! 4__conda_setup="$(CONDA_REPORT_ERRORS=false '/home/user/anaconda3/bin/conda' shell.bash hook 2> /dev/null)" 5if [ $? -eq 0 ]; then 6 \eval "$__conda_setup" 7else 8 if [ -f "/home/user/anaconda3/etc/profile.d/conda.sh" ]; then 9 . "/home/user/anaconda3/etc/profile.d/conda.sh" 10 CONDA_CHANGEPS1=false conda activate base 11 else 12 \export PATH="/home/user/anaconda3/bin:$PATH" 13 fi 14fi 15unset __conda_setup 16# <<< conda init <<<

投稿2019/06/11 15:46

YasuhiroNiji

総合スコア584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問