Linux 上の 2 つのバージョンの Python。2.​​7 をデフォルトにする方法 質問する

Linux 上の 2 つのバージョンの Python。2.​​7 をデフォルトにする方法 質問する

私の Linuxbox には 2 つのバージョンの Python があります。

$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 


$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct  8 2013, 15:53:09) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python

python入力時に 2.7が表示されるように、2.7 をデフォルト バージョンにするにはどうすればよいでしょうか?

ベストアンサー1

おそらく、デフォルトの Python を実際に変更する必要はないでしょう。

お使いのディストリビューションでは、標準のシステムPythonが にインストールされており/usr/bin、これに依存して によって選択されるスクリプトが含まれている可能性があります#! /usr/bin/env pythonいつものPython 2.6 スクリプトを 2.7 で実行することはできますが、リスクを冒したいですか?

それに加えて、 をいじると、/usr/binパッケージ マネージャーのパッケージ管理機能が壊れる可能性があります。また、 内のディレクトリの順序を変更すると、PATHPython 以外の多くのものに影響します。(実際、 より/usr/local/binも の方が一般的であり/usr/bin、実際に必要なのは である可能性がありますが、逆の場合は、おそらくそれには十分な理由があります。)

でもあなたはそうしない必要と入力したときにシステムが 2.7 を実行するようにデフォルトの Python を変更しますpython


まず、シェル エイリアスを設定します。

alias python=/usr/local/bin/python2.7

プロンプトでそれを入力するか、~/.bashrc変更を永続化したい場合は、あなた入力するとpython、選択した 2.7 が実行されますが、システム上の一部のプログラムがスクリプトを実行しようとすると、/usr/bin/env python標準の 2.6 が実行されます。


あるいは、仮想環境2.7 から (または異なるプロジェクトごとに別々の venv から) 取り出し、その venv 内で作業を行います。

おすすめ記事