102

実行したい:

python somescript.py somecommand

ただし、これを実行するときPYTHONPATHは、特定のディレクトリを含める必要があります。実行しているプロジェクトに基づいて追加するディレクトリが変更されるため、環境変数に追加することはできません。PYTHONPATHスクリプトの実行中に変更する方法はありますか? 注: 変数さえ持ってPYTHONPATHいないので、このスクリプトの実行中に変数に追加するかオーバーライドするかについて心配する必要はありません。

4

6 に答える 6

171

Mac/Linuxの場合;

PYTHONPATH=/foo/bar/baz python somescript.py somecommand

Windowsの場合、ラッパーを設定しますpythonpath.bat;

@ECHO OFF
setlocal
set PYTHONPATH=%1
python %2 %3
endlocal

pythonpath.bat次のようなスクリプトファイルを呼び出します。

pythonpath.bat /foo/bar/baz somescript.py somecommand
于 2011-01-02T19:38:46.463 に答える
51
 import sys
 sys.path.append('your certain directory')

基本的に、sys.pathは、Pythonモジュールのすべての検索パスを含むリストです。インタプリタによって初期化されます。PYTHONPATHの内容は、そのリストの最後に自動的に追加されます。

于 2011-01-02T19:41:25.317 に答える
17

のような POSIX 準拠のシェルからコマンドを実行している場合は、次のようbashに環境変数を設定できます。

PYTHONPATH="/path/to" python somescript.py somecommand

すべてが 1 行にある場合、PYTHONPATH 環境値はその 1 つのコマンドにのみ適用されます。

$ echo $PYTHONPATH

$ python -c 'import sys;print("/tmp/pydir" in sys.path)'
False
$ PYTHONPATH=/tmp/pydir python -c 'import sys;print("/tmp/pydir" in sys.path)'
True
$ echo $PYTHONPATH
于 2011-01-02T20:12:37.770 に答える
-1

これはWindows用です:

たとえば、デスクトップに「mygrapher」という名前のフォルダーがあります。内部には、メイン ファイル「grapherMain.py」に必要な Python ファイルを含む「calculation」および「graphing」というフォルダーがあります。また、「grapherMain.py」は「graphing」に格納されています。ファイルを移動せずにすべてを実行するには、バッチ スクリプトを作成します。このバッチファイルを「rungraph.bat」としましょう。

@ECHO OFF
setlocal
set PYTHONPATH=%cd%\grapher;%cd%\calculation
python %cd%\grapher\grapherMain.py
endlocal

このスクリプトは「mygrapher」にあります。何かを実行するには、コマンド プロンプトにアクセスして、次のようにします。

>cd Desktop\mygrapher (this navigates into the "mygrapher" folder)
>rungraph.bat (this executes the batch file)
于 2011-09-02T00:00:18.467 に答える