1
Pythonでは、プログラムパスを使用してシステムパスに追加する方法はありますか?私はsys.path.append
を知っていて、ドキュメントを検索しましたが、ちょっと混乱しています。 sys.path.append
は実際のシステムパスではなく、PYTHONPATH
にのみ追加されます。システムパスにプログラムで一時的に追加できる方法はありますか?プログラムは、他のツールを呼び出すときに彼らが使用する独立した環境を維持するためシステムパスにプログラムで追加する方法は?
old_path = os.environ['PATH']
try:
os.environ['PATH'] = "{}{}{}".format('/my/new/path', os.pathsep, old_path)
finally:
os.environ['PATH'] = old_path
代わりに、その共通:
これは完全に機能するので、 'sys.append.path'は' PYTHONPATH'自体を修正するのですか? – Pyth0nicPenguin
@ Pyth0nicPenguinまずは['sys.path'](https://docs.python.org/3/library/sys.html#sys.path)(' .append')であり、 'PYTHONPATH'のみです。 – xZise
@ Pyth0nicPenguin - まあまあです。 'sys.path.append'は、実行中のプログラムのモジュールルックアップパスにのみ追加します。他のプログラムを実行すると、元の環境の 'PYTHONPATH'しか表示されません。 - そして、私は子プロセスとして実行し、インポートは実行しません。他のpythonスクリプトを実行して別のパスを見たい場合は、同じ 'os.environ'ゲームを' PYTHONPATH'で実行する必要があります。 – tdelaney