Mountain Lionを実行していますが、基本的なデフォルトのPythonバージョンは2.7です。Python 3.3をダウンロードし、それをデフォルトに設定したいと思います。
現在:
$ python
version 2.7.5
$ python3.3
version 3.3
実行$ python
するたびに3.3が開くように設定するにはどうすればよいですか?
pyenv
ます。
Mountain Lionを実行していますが、基本的なデフォルトのPythonバージョンは2.7です。Python 3.3をダウンロードし、それをデフォルトに設定したいと思います。
現在:
$ python
version 2.7.5
$ python3.3
version 3.3
実行$ python
するたびに3.3が開くように設定するにはどうすればよいですか?
pyenv
ます。
回答:
システム全体でデフォルトのpython実行可能ファイルのバージョンを変更すると、python2に依存する一部のアプリケーションが破損する可能性があります。
ただし、macOSのデフォルトシェル(10.14以降ではbash、10.15ではzsh)が同様の構文を共有しているため、ほとんどのシェルでコマンドのエイリアスを設定できます。エイリアスpython = 'python3'をyour ~/.profile
に入れ~/.profile
て、~/.bash_profile
そして/またはyourにsource して次の~/.zsh_profile
ような行を書くことができます:
[ -e ~/.profile ] && . ~/.profile
このようにして、エイリアスはシェル全体で機能します。
これにより、python
コマンドはを呼び出しますpython3
。「元の」python(python2を指す)を呼び出す場合は、を使用できますcommand python
。これにより、エイリアスはそのまま残り、すべてのシェルで機能します。
インタープリターをより頻繁に起動する場合(私はそうします)、追加するエイリアスをいつでも作成できます。つまり、
alias 2='python2'
alias 3='python3'
ヒント:スクリプトの場合、次のようなシバンを使用する代わりに:
#!/usr/bin/env python
使用する:
#!/usr/bin/env python3
このように、システムはpython3を使用してpython 実行可能ファイルを実行します。
alias python=python3
た後、実行しているpython
私のために動作しませんでしたOSXエルキャピタンの私の端末で。〜/ .bash_aliasesと〜/ .bash_profileの両方を保存しようとしました。
source ~/.bash_profile
編集後に実行され~/.bash_profile
ます。
alias pip='pip3.6'
シンボリックリンクで解決できます。
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python
unlink
代わりにrm
を使用します(誤って末尾にスラッシュを追加すると、rm
いくつかの悪い結果になる可能性があります)。または、ln -s -f ...
現在のシンボリックリンクを上書きするようにすることもできます。
python
されるスクリプトに何らかの影響がありpython2.7
ますか?
unlink: /usr/bin/python: Operation not permitted
ln -s...
付き /local/
)。
〜/ .bash_profileファイルを開きます。
vi ~/.bash_profile
次に、エイリアスを次のように入力します。
alias python='python3'
次に、ファイルを保存してから〜/ .bash_profileファイルを実行します。
source ~/.bash_profile
おめでとうございます!!! これで、pythonと入力してpython3を使用できます。
python --version
Python 3.7.3
source ~/.bash_profile
端末を再び開くたびに本当に必要ですか?ターミナルを閉じてもう一度開くと、python2に戻ります。
私はこの問題のゲームに少し遅れましたが、私はこの問題を自分で発生したばかりなので、更新された回答を投稿する必要があると思いました。これはMacベースのセットアップにのみ適用されることに注意してください(Windowsやその他のLinuxで試したことはありません)。
これを機能させる最も簡単な方法は、Brewを介してPythonをインストールすることです。brewをインストールしていない場合は、まずそれを行う必要があります。インストールしたら、ターミナルで次の手順を実行します。
brew install python
これによりPython 3がインストールされます。インストール後、次のコマンドを実行します。
ls -l /usr/local/bin/python*
brewが作成したPythonインストールへのすべてのリンクが表示されます。次のようになります。
lrwxr-xr-x 1 username admin 36 Oct 1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x 1 username admin 43 Oct 1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x 1 username admin 38 Oct 1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x 1 username admin 45 Oct 1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x 1 username admin 39 Oct 1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x 1 username admin 46 Oct 1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config
この例の最初の行は、python3
シンボリックリンクを示しています。これをデフォルトのpython
シンボリックリンクとして設定するには、次のコマンドを実行します。
ln -s -f /usr/local/bin/python3 /usr/local/bin/python
設定したら、次のことができます。
which python
そしてそれは示すはずです:
/usr/local/bin/python
そのシェルで新しいシンボリックリンクを使用するには、現在のターミナルシェルをリロードする必要がありますが、新しく開いたすべてのシェルセッションは自動的にそれを使用する必要があります。これをテストするには、新しいターミナルシェルを開いて次を実行します。
python --version
「アプリケーション」に移動し、「Python」フォルダに移動します。「シェルプロファイルの更新.command」などと呼ばれるbashスクリプトが必要です。そのスクリプトを実行すると、実行されます。
更新:それを更新すべきではないようです:デフォルトのpythonバージョンを変更する方法?
これがOS Xで利用できるかどうかはわかりませんが、Linuxではmodule
コマンドを使用します。 こちらをご覧ください。
modulefileを正しく設定し、次のようなものをrcファイルに追加します(例:〜/ .bashrc):
module load python3.3
これにより、システムのデフォルトに影響を与えることなく、ログイン時に必要に応じてパスが切り替わります。
Pythonをインストールすると、エクスポートパスステートメントが〜/ .bash_profileファイルに挿入されると思います。そのため、Python 2を使用する予定がない場合は、そのステートメントをそこから削除できます。上記のエイリアスは、そのための優れた方法でもあります。
〜/ .bash_profile-vim ./.bash_profile-参照を削除する方法(別名:export PATH = "/ Users / bla / anaconda:$ PATH")-保存して終了-ソース./変更を保存するための.bash_profile
MacでPython 3をデフォルトとして設定する正しい方法と間違った方法
この記事の著者は、デフォルトのpythonを設定する3つの方法について説明しています。
これらの方法はすべて機能しています。あなたはどちらが良いかを決定します。
を使用している場合は、を使用してvirtualenvwrapper
検索し、を使用which virtualenvwrapper.sh
してそれを開くvim
か、他のエディターを使用して、次のように変更します。
# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi
行VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
をに変更しVIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
ます。
macportsを使用する場合、エイリアスや環境変数を操作する必要はありません。このQ&Aで説明されているmacportsがすでに提供している方法を使用するだけです。
TL; DR:
sudo port select --set python python27
ええと...ちょっと古いです。しかし、それでも良い答えに値します。
そして良いのは、MacのデフォルトのPythonに触れたくないということです。
Homebrewなどを使用して必要なPythonバージョンをインストールし、virtualenvで使用します。Virtualenvはしばしばがらくたに似ていると考えられていますが、それでも、Pythonバージョンをシステム全体(macOSがそのようなアクションから保護する可能性が高い)やユーザー全体、bash全体などを変更するよりはずっと良い方法です。デフォルトのPythonを忘れてください。venvのような遊び場を使用することは、OSが最も、最も感謝することです。
たとえば、最近の多くのLinuxディストリビューションでは、Python2をそのままインストールせずに、システムにPython3のみを残しています。しかし、依存関係としてpython2を使用して古いものをインストールしようとするたびに、私が何を意味するのか理解してほしい。優れた開発者は気にしません。優れた開発者は、希望するPythonバージョンでクリーンな遊び場を作成します。