PYTHONPATHを変更して、2.7の代わりに3,2をデフォルトのPythonにするにはどうすればよいですか?


16

にpython3.2があり/usr/lib/python3.2ます。それがインストールされていることを意味するかどうかはわかりませんが、今のところそうだと思います。

私のシステムに関するいくつかの事実:

$ which python
/usr/local/bin/python

私が入力するとpython、端末に、私は次のことを得ます

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

次に、私が行うパスを見つける

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

これをすべて知っているので、デフォルトのシステムPythonを2.7.2から3.2に変更するにはどうすればよいですか?

回答:


28

デフォルトのpythonを変更するのは良くありません。多くのシステムプログラムは、python3ではなくpython2に依存しています。python3を使用する場合は、コマンドpython3を入力するだけです


4
サポートライブラリとツール(pyenv、fabricなど)の場合、それらは/usr/bin/env pythonあなたが望むものであることを期待しています。したがって、手動で入力することpython3は解決策ではありません。
エリックミル14

9

PYTHONPATHは、それとはあまり関係がありません。Pythonインタープリターに、どのインタープリターが実行されていても、ロードしたい追加モジュールの場所を伝えるだけです。

ただし、いずれにしても、システムのデフォルトバージョンを変更するのは危険です。Python2向けに構築された既存のパッケージを破壊するリスクがあり、/ usr / bin / env pythonを使用してインタープリターを見つけます。

実際、それは言い回しの間違った方法です。Pythonのデフォルトバージョンを変更すると、Ubuntuシステム全体が破損し、多くのプログラムが機能しなくなります。また、完全に不要です。

しかし、あなたが尋ねたので、あなたはこれをするだけです:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

ハッピークラッシュ!


7

私はこれを.bashrcこれまでにうまく追加しました:

alias python='python3'

1
エイリアスにアクセスできないスクリプトからpythonを呼び出さない限り、これは機能します。
HelloGoodbye

4

よると、このあなたはセットアップあなたの的環境変数またはちょうど、新しいインポートパスのフォルダを追加することができます。ただし、柔軟性を持たせたい場合は、pythonプロジェクトにvirtualenvを使用することをお勧めします。



1

実際にインストールされているのが、単なるpythonではなくpython3.2のタイプであり、デフォルトの代わりにロードされます。それをテストするためにPython 3.2をインストールしました=)

実際にインストールされていない場合は、ターミナルを開いてsudo apt-get install python3.2と入力して取得します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.