2017-03-07 5 views
0

私はrunme.pyというpythonスクリプトを持っています。それは共有空間に住んでいる。私のユーザは、別のディレクトリからrunmeを実行する必要があります。私はむしろ実行するたびにrunme.pyの相対パスまたは絶対パスを入力する必要はないと思います。私は彼らがちょうど型にできるようにしたいと思いPythonのコマンドライン検索パス

:runme.pyはパスのような変数経由でどこ

python runme.py [arguments] 

とPythonは把握します。

ユーザーはすべてDOSのコマンドラインを使用していますが、私はUNIXに詳しいので、その構文を使用します。

私は$ PATH(%PATH%)が私の望むものではないことを知っています。私は$ PYTHONPATHも私が望むものではないと確信しています。私は何をしたいのですか?

実行可能なrunme.batラッパーファイルを書くことができるので、$ PATHは必要ですが、これらのトップレベルスクリプトが複数あり、複数のラッパーを維持する必要はありません。 (Unixでは、ラッパーはすべて同じラッパーにシンボリックリンクされていますが、DOSではできません)

もっと良い方法がありますか?

+3

'runme.py'が置かれているディレクトリを' PYTHONPATH'環境変数に追加して、 'python -m runme [arguments]'として実行することができます。 –

+4

ファイルの関連付けが正しい場合は、あなたのファイル名が '.py'で終わる' python'接頭辞。あなたはあなたのpythonディレクトリが存在することを確認するためにPATHを操作する '.bat'ファイルを持つことができます - もちろん、%PATH%にあるディレクトリに' .bat'ファイルが必要です。私はあなたが 'Windows'のようなどこかにインストールしたくないと仮定しています。 – cdarke

+0

@cdarkeあなたは正しいです。私は "python"は必要ありません。もし私が.pyファイルを実行しようとすると、それを見つけて、Pythonで動いていて、すべて動作します!私はそれを受け入れることができるようにこれを回答として追加してください。ありがとう! –

答えて

0

高度な解決策は、this guideに従って標準のpythonパッケージを作成することです。ユーザーはpipを使用して、パッケージをpypiからインストールするか、またはそれらを提供するホイールファイルからインストールします。モジュールをパッケージングするときは、任意のコマンドラインコンソールからコマンドラインスクリプトを作成するには、console-scriptsと指定します。

+0

ユーザーはそのコンピュータの習慣ではありません。 –