mypackageというPythonパッケージがあるとします。このパッケージには一連のスクリプトがあります。 mypackageがsite-packagesディレクトリに置かれると、ユーザはmypackage内のさまざまなPythonファイルをPythonのmypackage.submodule1、mypackage.submodule2というようにいつものように参照できます。ただし、これらはコマンドラインから呼び出されるスクリプトです。例えばsubmodule1では、私が持っている:Pythonパッケージで実行スクリプトを配布する適切な方法は?
== mypackage/submodule1.py ==
if __name__ == '__main__':
main()
def main():
# parse command line options here, do stuff
「mypackageとは、」自分のパスになると、ユーザはきれいに、コマンドラインスクリプトとしてこれらのサブモジュールを使用することができるようにどのように適切に/ mypackageパッケージを配布することができますか?私はあなたができると思ったでしょう:
python mypackage.submodule1.py arg1 arg2 ...
しかし、この構文は無効です。言い換えれば、実際の "mypackage"ディレクトリをPYTHONPATHに入れることなく、Pyからそれらをインポートするのではなく、ユーザが私のパッケージのサブモジュールをスクリプトとして参照する方法はありますか? (「mypackage」を含むサイトパッケージなどの最上位ディレクトリのみがPYTHONPATHにあるはずです)
ありがとうございました。
これは、/ opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin'にPATHにないスクリプトを置くようです。 – qed