如何在远程机器上的 Python 脚本中激活 anaconda 环境?
How to activate an anaconda environment within a Python script on a remote machine?
我目前正在尝试找到一种方法来在远程服务器上 运行 的 Python 脚本中激活 anaconda 环境。我在 Stack Overflow , and 上发现了以下类似的问题,但他们的建议没有成功。我一直收到这个简单的错误 sh: 1: source: not found
。据我了解,这是因为没有找到 conda 环境经过大量研究,我发现在使用 python 脚本时没有其他方法可以做到这一点,但是如果有人有建议,我很乐意传递一些想法!提前致谢!
代码如下:
import os
import subprocess
from subprocess import Popen
value = 'activate punc2'
#os.system("cd /Users/elicobler/tiny_dancer/Testing/thrive/API_text_results")
#os.system('source root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2')
#os.system('source activate punc2')
#Popen('source activate punc2')
#subprocess.call('source', value)
subprocess.run('source root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && cat /var/www/html/1.22.18 - Monday - Hr 1 - Seg 1-5a65e2698c1dd07f02c25679.txt | python punctuator.py models/endquote.pcl /var/www/html/1.22.18 - Monday - Hr 1 - Seg 1-5a65e2698c1dd07f02c25679.txt && source deactivate', shell=True)
您的默认 shell 不支持 source
,但您的系统可能也提供 bash。尝试这样的事情:
subprocess.run("bash -c 'source /root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && ... && source deactivate', shell=True)
你不需要 shell 来调用 shell,所以你可能会逃避更像
subprocess.run("/use/bin/env", "bash", "-c", "source /root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && ... && source deactivate")
我目前正在尝试找到一种方法来在远程服务器上 运行 的 Python 脚本中激活 anaconda 环境。我在 Stack Overflow sh: 1: source: not found
。据我了解,这是因为没有找到 conda 环境经过大量研究,我发现在使用 python 脚本时没有其他方法可以做到这一点,但是如果有人有建议,我很乐意传递一些想法!提前致谢!
代码如下:
import os
import subprocess
from subprocess import Popen
value = 'activate punc2'
#os.system("cd /Users/elicobler/tiny_dancer/Testing/thrive/API_text_results")
#os.system('source root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2')
#os.system('source activate punc2')
#Popen('source activate punc2')
#subprocess.call('source', value)
subprocess.run('source root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && cat /var/www/html/1.22.18 - Monday - Hr 1 - Seg 1-5a65e2698c1dd07f02c25679.txt | python punctuator.py models/endquote.pcl /var/www/html/1.22.18 - Monday - Hr 1 - Seg 1-5a65e2698c1dd07f02c25679.txt && source deactivate', shell=True)
您的默认 shell 不支持 source
,但您的系统可能也提供 bash。尝试这样的事情:
subprocess.run("bash -c 'source /root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && ... && source deactivate', shell=True)
你不需要 shell 来调用 shell,所以你可能会逃避更像
subprocess.run("/use/bin/env", "bash", "-c", "source /root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && ... && source deactivate")