私の 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
パッケージ マネージャーのパッケージ管理機能が壊れる可能性があります。また、 内のディレクトリの順序を変更すると、PATH
Python 以外の多くのものに影響します。(実際、 より/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 内で作業を行います。