私は通常Python 2.7を使用しますが、最近インストールされたPython 3.5はMac OS XでMinicondaを使用します。これら2つのバージョンのpythonには異なるライブラリがインストールされています。現在、ターミナルでキーワード「python」または「python3」のいずれかを入力すると、python 3.5が呼び出され、「python2」は「-bash:python2:command not found」を返します。それぞれエイリアス「python2」と「python3」を使用して具体的に呼び出すにはどうすればよいですか?
現在、OS X El Capitanを使用しています。
私見、macOSで2つの異なるPythonバージョンを使用する最良の方法はhomebrew
を使用することです。 macOSで homebrewをインストール の後に、ターミナルで以下のコマンドを実行します。
brew install python@2
brew install python
これで、python2
を呼び出してPython 2.7またはpython3
を呼び出してPython 3を実行できます。これに加えて、 virtualenv
または pyenv を使用して、python
環境のさまざまなバージョンを管理できます。
私は個人的に miniconda
を使用したことはありませんが、 ドキュメント からは、pip
とvirtualenv
を組み合わせて使用することに似ているようです。
OSXのPythonバイナリ(バージョン2)は/usr/bin/python
にあります
which python
を使用すると、python
コマンドの解決先がわかります。通常、サードパーティは/usr/local/bin
(デフォルトでは/usr/bin
よりも優先されます)で物事を再定義します。修正するには、/usr/bin/python
を直接実行して2.xを使用するか、誤った再定義を見つけます(おそらく/usr/local/bin
またはPATH
のどこかで)
私はすでにpython3をインストールしており(miniconda3を介して)、その場合brew install python
はpython2をインストールしないのでpython2をインストールする必要があるので、brew install python@2
が必要になります。
エイリアスpython2
は、/usr/bin/python
からのpython2.xを参照します
エイリアスpython3
は、/Users/ishandutta2007/miniconda3/bin/python
からのpython3.xを参照します
エイリアスpython
は、デフォルトでpython3を参照します。
python
をpython2のエイリアスとして使用するために、次を.bashrc
ファイルに追加しました
alias python='/usr/bin/python'
。
デフォルトとしてpython3に戻るには、必要に応じてこの行を削除します。
MacOS High Sierra 10.13.5にAnaconda3(Python 3.6)をインストールした場合、pythonバージョンを2.7に戻す方法
ホームディレクトリの.bash_profileファイルを編集します。
vi $ HOME/.bash_profile
#export PATH = "/ Users/YOURUSERNAME/anaconda3/bin:$ PATH"という行をハッシュアウトします
シェルを再度閉じて、Pythonを実行すると2.7が表示されるはずです。
3.6が必要な場合は、bashプロファイルのanaconda3行のコメントを外すだけです。
pythonのリンクを解除しようとすると、Mac OSXで涙が出ます。
あなたはこのようなものになります
unlink:/ usr/bin/python:操作は許可されていません
それが誰かを助けることを願っています!! :) :)
ジョン・ウィルキーの答えと同様に、which python
を使用して/usr/bin/python
を見つけ、.bash_profile
でaliasを作成するなどして、python2を実行します。
alias python2="/usr/bin/python"
python
を呼び出してpython3を実行し、python2
を呼び出してpython2を実行できるようになりました。
AppleのPython 2.7のシステムインストールを使用する場合は、 PEP 394 に記載されている命名基準に準拠していないことに注意してください。
特に、依存しないように指示された接尾辞2.7
のオプションのシンボリックリンクが含まれます。また、指示された接尾辞2
の推奨シンボリックリンクは含まれませんshouldに依存します。
これを修正したい場合は、AppleのPythonを使いながら、独自のシンボリックリンクを作成できます。
$ cd <somewhere writable and in your PATH>
$ ln -s /usr/bin/python python2
または、bash configのエイリアス:
alias python2 python2.7
必要に応じて、Appleの2to3、easy_installなどでも同様に行うことができます。
これらのシンボリックリンクを/usr/bin
に入れようとしてはならず、definitelyすでにあるものの名前を変更したり、distutilsの設定をもっとPEPに変更しようとしないでください準拠。これらのファイルはすべてOSの一部であり、OSの他の部分で使用できます。また、10.13.5から10.13.6へのマイナーアップデートなどで変更が上書きされる可能性があるので、そのままにしておきます上記のように。
または、次のこともできます。
python2.7
の代わりにpython2
を使用するだけです。python
、python3
、python2
などは、アクティブ化された環境のローカルpython
を常に使用している場合は関係ありません。@John Wilkeyからの回答をフォローアップします。
私のエイリアスpython
はpython2.7を表すために使用されていました(/usr/bin
にあります)。ただし、デフォルトのpython_pathの前には/usr/local/bin
のpython3
が付いています。したがって、python
と入力すると、pythonバージョンも取得できませんでした。
/usr/local/bin
のpython2
にリンクを作成しようとしました:
ln -s /usr/bin/python /usr/local/bin/
python2
に対してpython
を呼び出すときに機能します。