web-dev-qa-db-ja.com

Pythonのバージョンは何ですか?

Pythonのバージョンを確認するにはどうすればよいですか?

Ubuntu 14.04(Trusty Tahr)を使用しています。

70
TechJhola

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

それは明らかにかなり恐ろしいコマンドですが、これは再び実際の出力であり、かなり徹底した仕事をしたようです。

85
Oli

ターミナルで次のように入力します(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を確認します。

61
iffy
python --version

そして

python2 --version

Python 2.xのバージョンを表示します。

python3 --version

Python 3.xのインストール済みバージョン

31
Florian Diesch

ターミナルで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を提供します

8
Tim

標準ライブラリの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')
5
Nykakin

コマンドとして使用可能な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$'
4
wjandrea

簡単に、ターミナルを開いて次の操作を行います。

書く

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()
2
Willington
  • シェルターミナルで

    $ 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
1
Lee