回答:
python -V
(など)を使用して、python
コマンドが解決されるPythonのバージョンを表示できます。これで十分な場合は、これで完了です。しかし、システム内のすべてのバージョンのpythonを表示するには、もう少し時間がかかります。
Ubuntuでは、で解像度を確認できreadlink -f $(which python)
ます。14.04のデフォルトの場合、これは単にを指し/usr/bin/python2.7
ます。
これを連結して、そのバージョンのPythonのバージョンを表示できます。
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
しかし、これはまだ現在のpython
解像度が何であるかを示しているだけです。Virtualenv(一般的なPythonスタック管理システム)python
を使用している場合、異なるバージョンに解決される可能性があります。
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
これは実際の出力です。
実際には、コンテキストに応じて追加されたパス上、または異なるバイナリ名(などpython3
)のいずれかで、システムの周囲に何百もの異なるバージョンのPythonが分泌される可能性があります。
Pythonバイナリが常に呼び出されpython<something>
、バイナリファイルであると仮定する場合、これらの基準に一致するファイルをシステム全体で検索できます。
$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; | awk -F: '/x-executable; charset=binary/ {print $1}' | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
/media/ned/websites/venvold/bin/python: Python 2.7.4
/srv/chroot/precise_i386/usr/bin/python2.7: Python 2.7.3
/srv/chroot/trusty_i386/usr/bin/python2.7: Python 2.7.6
/srv/chroot/trusty_i386/usr/bin/python3.4: Python 3.4.0
/srv/chroot/trusty_i386/usr/bin/python3.4m: Python 3.4.0
/usr/bin/python2.7: Python 2.7.6
/usr/bin/python2.7-dbg: Python 2.7.6
/usr/bin/python3.4: Python 3.4.0
/usr/bin/python3.4dm: Python 3.4.0
/usr/bin/python3.4m: Python 3.4.0
/web/venvold/bin/python: Python 2.7.4
それは明らかにかなり恐ろしいコマンドですが、これもまた実際の出力であり、かなり徹底した仕事をしたようです。
readlink: extra operand '/usr/bin/python2.7'
Try 'readlink --help' for more information.
python -v
はバージョンを返すと想定し、これをルートとして実行しました。それは物事の長いリストを印刷しましたが、一番上でそれが言ってinstalling zipimport hook
、今は私が抜け出す方法がわからないプログラムにいるようです、アンインストールはおろか?あなたはここに私を助けることができる
-V
バージョンのフラグは大文字と小文字が区別されます。python -v
詳細メッセージがオンになっているPythonコンソールに移動します。Ctrl + Dで抜け出します。または書き込みexit()
、リターンを押します。
端末に次のように入力します(Ctrl+ Alt+ T):
python -V
または
python --version
コマンドの後に--helpを入力すると、ターミナルの多くのコマンドのオプション/パラメーターのリストを見つけることができます
例:
python --help
で表示することができ、そのようなCLIのほとんどのためにも利用できるマニュアル/ manページman <command>
(例:man python
)
からman python
:
COMMAND LINE OPTIONS
-V , --version
Prints the Python version number of the executable and exits.
python3
多くのマシンにもインストールされているため、次のことができます。
python3 --version
実行しているpython 3.xを確認します。
python --version
そして
python2 --version
Python 2.xのバージョンを表示し、
python3 --version
Python 3.xのインストール済みバージョン
python
ターミナルで実行すると、次のような出力が生成されます。
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
最初の行を参照してください- Python 2.7.6
。
を実行しpython3
ます。3.4.1があります
Python 3.4.1 (default, Jul 31 2014, 12:46:17)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
ただし、これですべてが表示されるわけではありません。2つ以上のpython 3.Xxバージョンがある場合、最新バージョンのみが表示されます。
14.04のデフォルトでは、2.7.6と3.4.0があります。ご覧のとおり、3.4.1に更新しました。に移動する/usr/bin
と、コマンドラインで実行すると3.4.0が表示され、実行すると3.4.1が表示されるため、まだ3.4.0であることがわかりますpython3.4
。/usr/bin/python3.4
/usr/local/bin/python3.4
私の代名詞は彼/彼です
PATH
環境変数で最初にリストされているディレクトリを持っている方を表示しませんか?python3
実行すると、常にインストールされているpython3の最高(サブ)バージョンが常に実行されるのはなぜですか?または、実際には、/usr/bin/python3
シンボリックリンクが指すバージョンは表示されませんか?
/usr/bin
... 1
env
hashbangライン内を見つけるために、解釈どのシステムでもよいです-Python スクリプトで共通に推奨)。それがあなたがいくつかのプログラムと他のプログラムとの違いによって意味するものかどうかはわかりません。
platform
標準ライブラリのモジュールを使用して、コード自体からPythonバージョンを確認することもできます。platform.python_version()
(文字列を返す)とplatform.python_version_tuple()
(タプルを返す)の2つの関数があります。脚本:
import platform
print(platform.python_version())
print(platform.python_version_tuple())
ランニング:
$ python test.py
3.4.1
('3', '4', '1')
$ python2.7 test.py
2.7.8
('2', '7', '8')
sys.version
またはを使用する方が一般的だと思いますsys.version_info
。
Pythonのすべてのバージョンをコマンドとして使用できるようにする場合は、を実行しcompgen -c python
ます。例えば:
$ compgen -c python
python2.7
python3.4m
python3.4
python3m
python
python3
python2
上記のそれぞれのバージョンを取得したい場合は、ここに1行のライナーがあります。
$ for p in $(compgen -c python); do printf "%-16s" $p; $p --version; done
python2.7 Python 2.7.6
python3.4m Python 3.4.3
python3.4 Python 3.4.3
python3m Python 3.4.3
python Python 2.7.6
python3 Python 3.4.3
python2 Python 2.7.6
python*-config
python*-config
プログラムが--version
フラグをサポートしていないことに気付きました。例えば:
$ python3-config --version
Usage: /usr/bin/python3-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir
したがってgrep -v
、たとえば、次のようにしてそれらを除外できます。
compgen -c python | grep -v -- '-config$'
簡単に、ターミナルを開いて次を実行します。
書く
python
2.xバージョンを確認するには私の場合、次のように表示されます。
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
3.xの場合、次のように記述します。
python3
私の場合、次のように表示されます:
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
どちらの場合も、Pythonシェルから抜け出すには、次のように記述します。
exit()
シェルターミナルで
$ which -a python
すべてのpython
。
$ which -a python2.7
すべてのpython2.7
。
$ /usr/bin/python -V
のバージョンに関する情報を提供します/usr/bin/python
。
Pythonスクリプトをチェックインする
ここにipythonシェルのイラストがあります:
In [1]: import sys
In [2]: sys.version
2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
In [3]: sys.version_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)
In [4]: sys.version_info >= (2,7)
Out[4]: True
In [5]: sys.version_info >= (3,)
Out[5]: False
python -v
はバージョンを返すと想定し、これをルートとして実行しました。それは物事の長いリストを印刷しましたが、一番上でそれが言ってinstalling zipimport hook
、今は私が抜け出す方法がわからないプログラムにいるようです、アンインストールはおろか?あなたはここに私を助けることができる
ls /usr/bin | grep python