時にPYTHONPATHを追加します。私は自分の環境変数に追加することはできません。なぜなら、私が実行しているプロジェクトに基づいて変更を加えたいからです。スクリプトを実行しているときにPYTHONPATH
を変更する方法はありますか?注:私はPYTHONPATH
変数も持っていないので、このスクリプトを実行している間にそれを上書きすることを心配する必要はありません。Pythonは、私が実行したいコマンド・ライン・モジュールの実行
答えて
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
import sys
sys.path.append('your certain directory')
基本的のsys.pathはPythonのモジュールのすべての検索パスを持つリストです。インタプリタによって初期化されます。 PYTHONPATHの内容は自動的にそのリストの最後に追加されます。
あなたはbash
のように、POSIX準拠のシェルからコマンドを実行している場合、あなたはこのような環境変数を設定することができますが:
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
私が探していたもの、ありがとうございました。何らかの理由で 'python -c 'import sys; sys.path.insert(0、' my/path '); import mymodule' 'が動作しませんでした。 –
これは、Windows用です:たとえば
、私は自分のデスクトップ上の "mygrapher" という名前のフォルダを持っています。内部には、メインファイル "grapherMain.py"が必要とするPythonファイルを含む "計算"と "グラフ"というフォルダがあります。また、 "graphing"には "grapherMain.py"が格納されています。ファイルを移動せずにすべてを実行するには、バッチスクリプトを作成できます。このバッチファイルを "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)
とこれは@İsmail 'cartman'Dönmezとどのように異なるのですか? –
は、あなたのスクリプトイスマイル@
python -c "import sys; sys.path.append('/your/script/path'); import yourscript; yourscript.yourfunction()"
- 1. コマンド - 私はオフラインマシン(A)で以下のコマンドを実行したい
- 2. 私はPythonスクリプトからこのコマンドを実行したいのPythonスクリプトから
- 3. Pythonのコマンド実行出力
- 4. シェルスクリプト:シェルスクリプトでexitコマンドを実行した後でコマンドを実行
- 5. Python 3.4.3:os.systemは私のping "コマンド"を実行しません
- 6. サーバ上でPythonを実行し、コンピュータからコマンドを実行
- 7. Pythonコマンドを実行していないモジュールをクリックしますか?
- 8. Vimの:私は外部コマンドを実行したい:「サイレント」
- 9. 私は、次のコマンドを実行していた
- 10. が、これは(すべてローカル)を実行しているモジュール私はPythonコード
- 11. 、Pythonスクリプトでは、bashのコマンドを実行すると、他のPythonモジュールに
- 12. モジュールを使ってPythonからOSコマンドを実行する
- 13. gitのコマンドは、私は、コマンドを実行して失敗し、
- 14. 私はunrootedアンドロイド(5.1.1)デバイスで 'su'コマンドを実行したい。
- 15. Pythonファイルを実行した後にbashで実行されるVimコマンド
- 16. これは私が実行しているコマンドです
- 17. 私はPythonで、このコマンドを実行する必要があるのPython
- 18. Python Click:グループにコマンド実行後にコードを実行させる
- 19. python tkinterは実行コマンドを発行します
- 20. モジュールからの移行がyiic migrateコマンドによって実行されない
- 21. コマンドラインからosgiモジュールを実行するには?私は、次のコマンドを使用して、コマンドラインからOSGIモジュールを実行しようとしています
- 22. は、私は、このコマンドを実行しているのpsql
- 23. Python unittesting:別のモジュールでテストを実行
- 24. 別のディレクトリからPythonモジュールを実行
- 25. イオンアプリケーションはubuntuでコマンドを実行したり実行したりしません
- 26. モジュールがロードされた後のPythonスタートアップコードの実行
- 27. tox sudoのpythonコマンドを実行する
- 28. Docker:別のコマンドが実行されている間にコマンドを実行
- 29. Connectには、私は、次のコマンドを実行しているIP
- 30. 移行は、私は、この移行を実行していた
内の機能を実行するために、これを試してください - 感謝。しかし、私はコマンドプロンプトからスクリプトを実行している間にそれをどうやって行うことができますか?私は、Pythonを実行していない、ものをインポートし、手動でそれを実行しています。 – orokusaki
Mac/Linuxでは 'PYTHONPATH =/foo/bar python somescript.py somecommand'を実行します。 – ismail
私は' python -c "import sys; sys.path.append( '/ my/dir')' 'を実行してから' python myscript.py mycommand'を実行しますが、明らかに最初のインタープリタセッションから次のインタープリタセッションへのパスは共有されません。ああ、ちょうどあなたの次のコメントを見て、今しよう... WinXPで動作しませんでした。 – orokusaki