お世話になります。
何卒、よろしくお願いします。
表題の通り、pythonのバージョンを指定して開発環境を構築したのですが、
pythonのバージョンが古いままとなってしまいます。
python
1conda create --name py36 python=3.6
(py36) *****@******noMacBook-Pro ~ % python --version Python 2.7.16
この他に、同じ環境でversionをアップグレードしたり、versionを指定してダウンロードしたりと試しているのですがうまく行きません。
この原因は
①ダウンロードとは別に切り替えの作業を行わなければならないのでしょうか?
②pathを通す作業が出来ていないのでしょうか?
お手数ですが、ご教示いただけますと幸いでございます。
何卒、よろしくお願い致します。
python3 --version
だと、どうなりますでしょうか?
そもそも conda create の前から python コマンドで2.7が起動していのか
Anacondaはどうやってインストールしたのか
あたりが気になります。
conda info コマンドで現在の環境の情報が表示されますので、その結果も教えていただければと思います。
(py36) *****@******noMacBook-Pro ~ % conda info
> ②pathを通す作業が出来ていないのでしょうか?
condaコマンドが実行できているのだから、パスは設定されてると思いますよ
Anacondaのパスの優先順位が低い(パスの順番の後ろにある)ので、「python」ではOS同梱の2.7が実行されてしまうのでしょう
ターミナルで、下記を実行してみてください
echo $PATH
which python
which python3
which conda
皆様、ご返信ありがとうございます。
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
}
皆様貴重なお時間ありがとうございます。
何卒、よろしくお願いします。
> (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ではないです
と思ったけど、
> 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
を実行した場合では、結果が違います?
> 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が無ければ)
コマンドは macOS に付属のターミナルで実行していますか? いちどターミナルを終了して再起動してから、すぐに echo $PATH を実行してどんな結果が帰ってくるか知りたいです。
皆様、ご尽力いただきありがとうございました。
原因は、python3系ではなくpython2系が読み込まれていたことにあったようです。
解決方法として、Anacondaのpythonを優先する設定に変更することにより下記の様になりました。
設定コマンド↓
export PATH="/Users/********/opt/anaconda3/bin:$PATH"
結果↓
(py36) *******@*******noMacBook-Pro ~ % python --version
Python 3.6.13 :: Anaconda, Inc.
何かご指摘等ございましたら、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー