2

最新バージョンのpython3.3.0をダウンロードし、インストールを完了しました。centOSlinuxで実行したいのですが、コンソール「python」で入力すると、osインストールにバンドルされているpython2.7.0が実行されます。3を実行するように変更するにはどうすればよいですか?binフォルダなどのパスに関するコードを変更する必要があると漠然と感じています

4

2 に答える 2

6

コマンドを試す:

python3.3

または

python3

Pythonコマンドと互換性http://www.python.org/dev/peps/pep-0394/

Python3をPython2にシンボリックリンクしてシステムのデフォルトを変更しないでpythonください。これにより、システムのデフォルトがPython 2.x(起動スクリプト、アプリケーションなどで参照される)であるという事実に依存するオペレーティングシステムが破損する可能性があります。

コマンドを入力するときにPython3を実行する場合はpython、シェル構成ファイルに次を追加します。

 alias python=python3
于 2013-03-24T13:51:38.223 に答える
5

コマンドラインから実行する場合python、という名前の実行可能ファイルの検索順序は、環境変数 pythonによって決定されます。パスの検索順序が表示されます。以前のディレクトリは後者のディレクトリよりも優先されます。$PATHecho $PATH

入力すると、マシンが検索パスwhich pythonの最初であると判断したものが表示されます。python

ただし、ほとんどの場合、Pythonバイナリを指すシンボリックリンクが内部にある/usr/local/bin/usr/bin名前が付けられている場合です。python

ほとんどのシステムでは、実際には2つのシンボリックリンクがあります。

python  -> pythonX
pythonX -> pythonX.Y

例えば、

python  -> python2
python2 -> python2.7

あなたはあなたpythonが実際に次のようなものとの単なるシンボリックリンクであるかどうかを見ることができます

ls -l $(which python)

私の場合、これは私に与えます:

/usr/local/bin/python -> python2

pythonがpython2へのシンボリックリンクであることを示す

次のように入力してさらに先に進むことができます

ls -l $(which python2)

私の場合、これは私に与えます

/usr/local/bin/python2 -> python2.7

とにかく、いくつかの選択肢があります

1)食物連鎖の上位のディレクトリ(リストの前のディレクトリ)に、python必要なPythonバージョン(おそらく)へのシンボリックリンクを追加します。たとえば、通常は。よりも高くなります。python3$PATH/usr/local/bin/usr/bin

2)現在のpythonシンボリックリンクを変更して、必要なPythonバージョンを指すようにします。通常、これはforce-fフラグをに追加することによって行われlnます。

python33)コマンドラインで入力するか#!/bin/env python3、スクリプトでハッシュバンとして使用して、Python3.xを実行することを明示的に示します。

4).bashrcまたは同等のファイル(例python)のエイリアス。python3alias python='/path/to/python3

最初の2つのオプションは、予想よりも広範囲に及ぶ影響を与える可能性があります。たとえば、yumパッケージマネージャーはを指定するだけなので、パッケージマネージャーを壊しますpython

3つ目は少し面倒になるかもしれませんが、より正確であり、特にpython3と呼ぶスクリプトを除いて、デフォルトですべてがpython2を使用できるようになります。

最後はまともな妥協点であり、入力するだけでpython他のユーザーに影響を与えることはありません。

それは本当にあなた次第です。

于 2013-03-24T14:09:07.570 に答える