私はずっと長い間困惑しています。誰かが援助できると願っています。現在のコマンドプロンプトセッションの環境変数をPythonから設定する方法
現在のコマンドプロンプトセッション(Windows)用の一時的な環境変数(PATH)を設定する必要があるPython CLIアプリケーションを作成しています。アプリケーションは、hereと表示された方法を使用して、将来のすべてのセッションで永続的に環境変数を設定しています。
- テンポラリファイルを利用した答えhereを使用して環境変数
- を設定する
os.environ
を使用して: が一時的ENVは、現在のセッションのvarsの設定しようとするために、私は次のよう試みました。残念ながら、これはCmdプロンプトから直接実行されますが、Pythonでは実行されません。 - 彼らは私が永続的に設定した環境変数を活用するためには、コマンドプロンプトを閉じる必要はありませんので、ツールのユーザーがこれを必要とします
subprocess.check_call
、subprocess.call
を使用してSET
を呼び出します。
私は他のアプリケーションでこれを行っているのを見ましたが、これをPythonでどのように達成するかはわかりません。
私は決定的に話すことができませんWindows - しかし、UNIXでは、サブプロセスが環境変数を変更するための親プロセスの協力が必要です(デバッガを使用するなどの不備はありません)。 –
@CharlesDuffy、技術的にはWindowsでは、親プロセスのハンドルを開き、親プロセスのDACL、整合性レベル、およびそれが '保護された'プロセスかどうかに応じて、環境変数を書き換えることが可能です。しかし、私はそれが今までにないと思う。 – eryksun