Pythonのバージョンを確認するにはどうすればよいですか?
Ubuntu 14.04(Trusty Tahr)を使用しています。
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
それは明らかにかなり恐ろしいコマンドですが、これは再び実際の出力であり、かなり徹底した仕事をしたようです。
ターミナルで次のように入力します(Ctrl+Alt+T):
python -V
または
python --version
コマンドの後に-helpを入力すると、ターミナル内の多くのコマンドのオプション/パラメーターのリストを見つけることができます
例:
python --help
man <command>
(例:man python
)で表示できるこのようなCLIのほとんどで使用可能なマニュアル/マンページ
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.X.xバージョンがある場合、最新バージョンのみが表示されます。
14.04のデフォルトでは、2.7.6と3.4.0があります。ご覧のとおり、3.4.1に更新しました。 /usr/bin
にアクセスするとpython3.4
が表示され、コマンドラインで/usr/bin/python3.4
を実行すると3.4.0が実行され、/usr/local/bin/python3.4
は3.4.1を提供します
標準ライブラリの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')
コマンドとして使用可能な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 Shellから抜け出すには、次のように記述します。
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