DOSシェルコマンドライン(または.batファイル)から次のような構文でPythonスクリプトを呼び出したいと思います。
C:\python27\python myscript.py
スクリプトmyscript.py
は、ディレクトリにありc:\a_process\python_lib
ます。パスを検索することでPythonにそのスクリプトを見つけさせることができるので、現在のディレクトリが任意の場合(のようにC:\junk
)にスクリプトを呼び出すことができます。私の問題は、Pythonを呼び出すコマンドラインに示されているスクリプトにPythonが使用するパス(ある場合)がわからないことです。Pythonのドキュメント、SO、およびWebを検索しましたが、有益なものは何も見つかりませんでした。(Python自体の中でのコマンドライン解析に関する多くのことを見つけましたが、それは私が探しているものではありません)。
ディレクトリにadt_python_lib.pth
ファイルがあり、それが機能することを確認しました(そこにあるモジュールをインポートできます)。実験として、環境変数C:\Python27\Lib\site-packages
も設定しようとしました( DOSシェルに入力して行を確認することで確認できます)。PYTHONPATH
SET
PYTHONPATH=C:\a_process\python_lib
出力で。その価値については、Pythonを呼び出して実行しましたがsys.path
、実際C:\a_process\python_lib
にパスに期待どおりにリストされていることがわかります。['', 'c:\\a_process\\python_lib', ...]
私がこれに見つけた最も近いSOの質問は、Pythonプログラムの実行です。
これは、Python呼び出しコマンドラインで示されたファイルを検索するパスがないことを意味しているようです(ただし、記載されていません)。誰かがこれが正しいと正式に述べることができる場合は、別の方法に戻します(おそらく、スクリプトを直接追加c:\a_process\python_lib
して呼び出すだけです)。%PATH%