gpt4 book ai didi

python - 子进程.Popen : mkvirtualenv not found

转载 作者:太空狗 更新时间:2023-10-30 02:32:25 25 4
gpt4 key购买 nike

我在我的部署中使用 virtualenvwrapper。为了设置新环境,我运行了一个 python 脚本,其中包含所有需要的步骤。

设置脚本包括:

cmd = 'mkvirtualenv %s --no-site-packages'%('testname')
head = subprocess.Popen(cmd,shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in head.stdout.read().splitlines():
print line

输出是:

/bin/sh: mkvirtualenv: not found

如何在我的 python 脚本中正确使用 virtualenvwrapper?

编辑:

以下代码适用于我:

cmd = 'source /usr/local/bin/virtualenvwrapper.sh && mkvirtualenv %s --no-site-packages'%('testname')
head = subprocess.Popen(cmd, executable='bash', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in head.stdout.read().splitlines():
print line

谢谢大家的回答。

最佳答案

mkvirtualenv 可能是通过采购 virtualenvwrapper.sh script from your shell's startup file 添加到您的环境中的 shell 函数.在 shell=True 上调用的默认命令(例如,/bin/sh -c ...)可能无法读取它。

您可以显式获取文件:

import pipes
from subprocess import check_call

check_call("""source /path/to/virtualenvwrapper.sh &&
mkvirtualenv --no-site-packages """ + pipes.quote(envname),
executable='bash', shell=True)

关于python - 子进程.Popen : mkvirtualenv not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18337767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com