从python脚本运行virtualenvwrapper命令

问题描述 投票:0回答:1

当我尝试使用mkvirtualenv(virtualenvwrapper命令)和os.system这样创建一个新的Python 3虚拟环境时

import os
os.system('mkvirtualenv foo')

什么都没发生。

os.system("mate-terminal -e 'workon foo'")

也不起作用。

重点是快速创建一个新的虚拟环境,并在以后为每个项目工作(它是一个自动化脚本)。 virtualenvwrapper是最方便的选择。

python python-3.x virtualenv virtualenvwrapper
1个回答
1
投票

mkvirtualenvworkon命令是shell函数,而不是PATH [0]中的可执行文件。要使它们在您执行它们的shell中可用,您需要获取定义它们的virtualenvwrapper.sh shell脚本。你最好直接打电话给virtualenv /path/to/foo

但是,如何激活virtualenv是另一个故事,并且将取决于您想要使用它的上下文。如果您在子流程中激活它,则使用它的每个进程都必须在该子进程中运行。

嘿,秒

PS此外,您可以查看subprocess模块(甚至第三方sh)来调用外部程序。快乐编码:)

[0]:在终端vs $ which workon中查看$ which bash

© www.soinside.com 2019 - 2024. All rights reserved.