子プロセスはPythonスクリプトでconda環境を有効にします。

子プロセスはPythonスクリプトでconda環境を有効にします。

私はcondaを使用して別の変数にいくつかのモジュールをインストールするPythonプログラムを作業しています。したがって、スクリプトを実行する前に、Unixシェルで次のコマンドを呼び出して環境をインポートします。

conda activate my-rdkit-env

私のPythonスクリプトから呼び出すことはできますか?以下のように試しましたが、成功しませんでした。

import subprocess
subprocess.run('conda init bash', shell=True)
#subprocess.run('conda activate my-rdkit-env', shell=True)

ベストアンサー1

~からこの回答環境で直接スクリプトを実行できる必要があります。これにより、作業環境で別のコードを実行している間に環境を有効または無効にする必要がなくなります。

process = subprocess.Popen(
    "conda run -n ${CONDA_ENV_NAME} python script.py".split(), , stdout=subprocess.PIPE
)
output, error = process.communicate()

おすすめ記事