🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Anaconda

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1201閲覧

pythonのバージョンを指定してConda環境を作っても、pythonのバージョンが古いままになってしまう。

ForestBamboo

総合スコア17

Anaconda

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/03/21 23:52

お世話になります。
何卒、よろしくお願いします。

表題の通り、pythonのバージョンを指定して開発環境を構築したのですが、
pythonのバージョンが古いままとなってしまいます。

python

1conda create --name py36 python=3.6
(py36) *****@******noMacBook-Pro ~ % python --version Python 2.7.16

この他に、同じ環境でversionをアップグレードしたり、versionを指定してダウンロードしたりと試しているのですがうまく行きません。
この原因は
①ダウンロードとは別に切り替えの作業を行わなければならないのでしょうか?
②pathを通す作業が出来ていないのでしょうか?

お手数ですが、ご教示いただけますと幸いでございます。

何卒、よろしくお願い致します。

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

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

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

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

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

jbpb0

2021/03/21 23:59

python3 --version だと、どうなりますでしょうか?
quickquip

2021/03/22 01:18

そもそも conda create の前から python コマンドで2.7が起動していのか Anacondaはどうやってインストールしたのか あたりが気になります。
etherbeg

2021/03/22 01:29

conda info コマンドで現在の環境の情報が表示されますので、その結果も教えていただければと思います。 (py36) *****@******noMacBook-Pro ~ % conda info
jbpb0

2021/03/22 01:59

> ②pathを通す作業が出来ていないのでしょうか? condaコマンドが実行できているのだから、パスは設定されてると思いますよ Anacondaのパスの優先順位が低い(パスの順番の後ろにある)ので、「python」ではOS同梱の2.7が実行されてしまうのでしょう ターミナルで、下記を実行してみてください echo $PATH which python which python3 which conda
ForestBamboo

2021/03/22 03:51

皆様、ご返信ありがとうございます。 python3 --version だと、どうなりますでしょうか? →ありがとうございます。 python3 --version Python 3.8.3 そもそも conda create の前から python コマンドで2.7が起動していのか Anacondaはどうやってインストールしたのか あたりが気になります。 →ありがとうございます。 Anacondaをインストールする前はPython 3.8.5を使用していました。(仮想環境ではなくローカルでpyhtonのversionを調べるとPython 3.8.5となります。 conda info コマンドで現在の環境の情報が表示されますので、その結果も教えていただければと思います。 (py36) *****@******noMacBook-Pro ~ % conda info →ありがとうございます。 active environment : py36 active env location : /Users/******/opt/anaconda3/envs/py36 shell level : 2 user config file : /Users/******/.condarc populated config files : /Users/******/.condarc conda version : 4.9.2 conda-build version : 3.20.5 python version : 3.8.5.final.0 virtual packages : __osx=10.16=0 __unix=0=0 __archspec=1=x86_64 base environment : /Users/******/opt/anaconda3 (writable) channel URLs : https://repo.anaconda.com/pkgs/main/osx-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/osx-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /Users/******/opt/anaconda3/pkgs /Users/******/.conda/pkgs envs directories : /Users/******/opt/anaconda3/envs /Users/******/.conda/envs platform : osx-64 user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.5 Darwin/20.2.0 OSX/10.16 UID:GID : 501:20 netrc file : /Users/******/.netrc offline mode : False > ②pathを通す作業が出来ていないのでしょうか? condaコマンドが実行できているのだから、パスは設定されてると思いますよ Anacondaのパスの優先順位が低い(パスの順番の後ろにある)ので、「python」ではOS同梱の2.7が実行されてしまうのでしょう ターミナルで、下記を実行してみてください echo $PATH which python which python3 which conda →ありがとうございます。私もダウンロードは完了してるのですが、優先順位の問題なのかと思っています。 py36) *******@*******noMacBook-Pro ~ % echo $PATH /Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/*******/opt/anaconda3/envs/py36/bin:/Users/*******/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.8/bin (py36) *******@*******noMacBook-Pro ~ % which python /usr/bin/python (py36) *******@*******noMacBook-Pro ~ % which python3 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 (py36) *******@*******noMacBook-Pro ~ % which conda conda () { if [ "$#" -lt 1 ] then "$CONDA_EXE" $_CE_M $_CE_CONDA else \local cmd="$1" shift case "$cmd" in (activate | deactivate) __conda_activate "$cmd" "$@" ;; (install | update | upgrade | remove | uninstall) CONDA_INTERNAL_OLDPATH="${PATH}" __add_sys_prefix_to_path "$CONDA_EXE" $_CE_M $_CE_CONDA "$cmd" "$@" \local t1=$? PATH="${CONDA_INTERNAL_OLDPATH}" if [ $t1 = 0 ] then __conda_reactivate else return $t1 fi ;; (*) CONDA_INTERNAL_OLDPATH="${PATH}" __add_sys_prefix_to_path "$CONDA_EXE" $_CE_M $_CE_CONDA "$cmd" "$@" \local t1=$? PATH="${CONDA_INTERNAL_OLDPATH}" return $t1 ;; esac fi } 皆様貴重なお時間ありがとうございます。 何卒、よろしくお願いします。
jbpb0

2021/03/22 04:17 編集

> (py36) *******@*******noMacBook-Pro ~ % which python > /usr/bin/python は、OS同梱のPython 2.7 > (py36) *******@*******noMacBook-Pro ~ % which python3 > /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 は、「Python 3.8.5を使用していました」のPythonですね どちらも、AnacondaのPythonではないです
jbpb0

2021/03/22 04:26

と思ったけど、 > python3 --version Python 3.8.3 あれ、3.8.3だ 「Python 3.8.5を使用していました」と違う Python 3.8.xが二つ入ってる?? > 仮想環境ではなくローカルでpyhtonのversionを調べるとPython 3.8.5となります。 の状態で which python3 を実行した場合と、condaで仮想環境を有効にした状態で which python3 を実行した場合では、結果が違います?
jbpb0

2021/03/22 04:32

> py36) *******@*******noMacBook-Pro ~ % echo $PATH /Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/*******/opt/anaconda3/envs/py36/bin:/Users/*******/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.8/bin なぜか「/Library/Frameworks/Python.framework/Versions/3.8/bin」が先頭と最後の二カ所にあるので、先頭のを削除したらAnacondaのpython3が見つかって使えるようになるかもしれません (/usr/local/bin:/usr/bin:/bin:/usr/sbinのどこにもpython3が無ければ)
etherbeg

2021/03/22 05:03

コマンドは macOS に付属のターミナルで実行していますか? いちどターミナルを終了して再起動してから、すぐに echo $PATH を実行してどんな結果が帰ってくるか知りたいです。
ForestBamboo

2021/03/22 23:32

皆様、ご尽力いただきありがとうございました。 原因は、python3系ではなくpython2系が読み込まれていたことにあったようです。 解決方法として、Anacondaのpythonを優先する設定に変更することにより下記の様になりました。 設定コマンド↓ export PATH="/Users/********/opt/anaconda3/bin:$PATH" 結果↓ (py36) *******@*******noMacBook-Pro ~ % python --version Python 3.6.13 :: Anaconda, Inc. 何かご指摘等ございましたら、よろしくお願いします。
guest

回答1

0

ベストアンサー

macではデフォルトでPython2.x系動作環境がインストールされています
ご自身でインストールしたPython3.xへのパスを通せば解決するかもしれません

参考までに
google検索 mac python3 デフォルト

投稿2021/03/22 00:39

ak1600

総合スコア13

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

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

ForestBamboo

2021/03/22 03:53

ありがとうございます。 やはりPathが通ってないのでしょうか。 Pathの設定を確認してみます。
ForestBamboo

2021/03/22 23:33

皆様、ご尽力いただきありがとうございました。 原因は、python3系ではなくpython2系が読み込まれていたことにあったようです。 解決方法として、Anacondaのpythonを優先する設定に変更することにより下記の様になりました。 設定コマンド↓ export PATH="/Users/********/opt/anaconda3/bin:$PATH" 結果↓ (py36) *******@*******noMacBook-Pro ~ % python --version Python 3.6.13 :: Anaconda, Inc. 何かご指摘等ございましたら、よろしくお願いします。
jbpb0

2021/03/23 03:12

> Anacondaのpythonを優先する設定に変更する をしなくても、 conda activate py36 で仮想環境を有効にしたら、自動的にPATHの先頭にその仮想環境固有のパスが追加されるはずなのですけど、それがうまくいってないのですかね?? 質問者さんの場合は、おそらく下記のパスが追加されて、仮想環境が有効なときだけ「py36」環境に追加したものが使える、という状態になるはずなのですが /Users/********/opt/anaconda3/envs/py36/bin (「envs」の次の「py36」が仮想環境名)
ForestBamboo

2021/03/24 23:07

ご返信遅くなってしまい申し訳ございません。 おっしゃる通り、仮想環境が有効になっても古いpythonが優先されていた様です。 原因はわかりませんが、一旦解決とさせていただきました!(ナレッジとしては使えない投稿となってしまい申し訳ないです) 貴重なお時間、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問