システムに応じて、python
== python2
またはpython
== python3
。
実行可能なPythonスクリプト。
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Python py3kの場合、ドキュメントで提供されているので、バージョン番号で使用する必要があります/使用できるため、次のようにします。
#!/usr/bin/env python3
しかし、私はpy2kスクリプトに問題を発見しました。
滞在中py2kドキュメントには、使用に書き込まれます#! /usr/bin/env python
、
一部の* nix-esでは、python py3kがデフォルトであるため、python == python3です。(たとえば、ArchLinux pythonパッケージ、ここではpythonパッケージファイル)。
それを処理するための配布用のpythonスクリプトをパッケージ化(構成、作成)および/または準備する方法は?
ユーザーが(環境を変更せずに)簡単に実行できるソフトウェアパッケージの作成について質問します
python py3kスクリプトと同じトリックをpython py2kスクリプトと同じようにして、次のように設定でき#!/usr/bin/env python2
ますか?各python py2kディストリビューションにpython2
ファイルが含まれていることを確認できます#!/usr/bin/env python2
か?
はいの場合、なぜそれが標準として提案されていないのですか、たとえばpython py2kのドキュメントでは?
python2
ます。なぜpy2kとpy3kがあり、デフォルトpython
が異なる場合にそれを使用することが標準ではないのかと思います。削除についてのあなたのアドバイスはどうですか-それはこの例には適切ではありません、私はパッケージングについて尋ねます。異なる構成/システムで実行できるパッケージを作成したいのですが。環境を変更する方法はありません。チェックについては- 私が知る限り、それはシバンには適用されません-。
#!...python2
している場合はプログラムで使用し、Python 3.xを使用している場合はを使用することだと思います#!...python3
。特定のリリースでのみ機能することがわかっている場合は、オペレーティングシステムが正しいリンクを持っているとは限りません。私は、Python 1.5.2がまだインストールされているシステムを/usr/bin/python
使用していますpython2
。古いPythonリリースを処理するコードを書くか、使用します。
python2
私のシステムには実行ファイルがありません(Debian squeeze)。python
はへのシンボリックリンクpython2.6
でありpython3
、へのシンボリックリンクですがpython3.1
、はありませんpython2
。
python2
それを実行するために使用できます(インストールされている場合)、常にでバージョンを確認できますpython -V
。それpython
が2または3であることが必要な場合はrm /usr/bin/python
、必要なPythonバージョンからポイントするシンボリックリンクを作成する必要がありますln -s /usr/bin/python2.5 /usr/bin/python
。