シェルでPythonスクリプトを使用することについて人々が知っておくべきことは何ですか?

シェルでPythonスクリプトを使用することについて人々が知っておくべきことは何ですか?

人々が一般的に知っておくべきことを知りたいです。Python(インタプリタ)Linuxシェルで使用するとき?これは私が持っているものです。ルート図:

# ls -al /usr/bin/python*; file /usr/bin/python; /usr/bin/python-wrapper --version
lrwxrwxrwx 1 root root    14 Dec 26 04:49 /usr/bin/python -> python-wrapper
lrwxrwxrwx 1 root root     9 Dec 26 04:51 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root  6144 Jan  8 21:22 /usr/bin/python2.7
-rwxr-xr-x 1 root root  1450 Jan  8 21:22 /usr/bin/python2.7-config
lrwxrwxrwx 1 root root     9 Dec 26 04:49 /usr/bin/python3 -> python3.3
-rwxr-xr-x 1 root root 10304 Jan 19 20:37 /usr/bin/python3.3
-rwxr-xr-x 1 root root  1753 Jan 19 20:37 /usr/bin/python3.3-config
-rwxr-xr-x 1 root root   217 Dec 26 04:49 /usr/bin/python-config
lrwxrwxrwx 1 root root    16 Jan  8 21:22 /usr/bin/python-config-2.7 -> python2.7-config
lrwxrwxrwx 1 root root    16 Jan 19 20:37 /usr/bin/python-config-3.3 -> python3.3-config
-rwxr-xr-x 1 root root 10384 Dec 26 05:24 /usr/bin/python-wrapper
/usr/bin/python: symbolic link to `python-wrapper'
Python 3.3.3

だから私の場合、通話はpythonバージョン3.3を起動しました。私が使用するほとんどのディストリビューションには複数のバージョンがインストールされています。そして、最新バージョンは以前のバージョンと互換性がなく、一部の機能は「古い」バージョンにバックポートされています。どちらのバージョンの状況も一時的だと思いますか?次に、Pythonスクリプトを実行する必要があるたびに両方のPythonバージョンを使用して確認します。

Pythonを使用してシェルでスクリプトを実行する方法について知っておくべき他のことがありますか?それでは何ですか?誰かがPythonスクリプトを書いてenv python最初の行に使用しました。どちらのバージョンとも互換性があることを意味しますか? Pythonラッパーは何に使用されますか?

ベストアンサー1

PEP 394Python のインストール方法と Shebang ラインで使用する項目を指定します。#!/usr/bin/env python2Python 2スクリプトと#!/usr/bin/env python3Python 3スクリプトと一緒に使用します(#!/usr/bin/env pythonスクリプトが両方と互換性がある場合)。

実際、人々は#!/usr/bin/env python長年にわたってshebangラインを使用してきたので、それを必要とするスクリプトを見つけるとpythonPython 2スクリプトである可能性が高くなります。

Python 2とPython 3は互換性がないため、両方のバージョンは長い間共存します。彼らは偶然似ていますが、ほとんどのプログラムと互換性があるほどではない2つの異なる言語です。pythonほとんどのシステムは現在Python 2を維持していますが、Arch LinuxはPython 3に切り替えましたpython。これらの不一致により、PEP 394 は shebang で明示的なバージョンを使用することを推奨します。残念ながら、人生は単純ではないため、一部の古いシステムにはまだこの機能がない可能性がありますpython2(Debian wheezyは危機的な状況でのみこれを得ます)。

言語デザイナーの観点からは、「Python 2.xは言語の遺産であり、Python 3.xは言語の現在であり将来」ですが、まだPython 2コードがたくさんあります。サードパーティのライブラリ(さまざまなサードパーティのライブラリはPythonの利点の1つ)を使用している人の観点から、Python 2です。

についてはpython-wrapper包装紙です。Pythonの実装から選択。これは昨日の包装紙、今日の包装紙python-exec。私は彼らが何をしているのかわかりません。

おすすめ記事