运行 来自 python 脚本的 virtualenvwrapper 命令
Run virtualenvwrapper commands from python script
当我尝试使用 mkvirtualenv
(virtualenvwrapper 命令)和 os.system
像这样
创建新的 Python 3 虚拟环境时
import os
os.system('mkvirtualenv foo')
没有任何反应。
os.system("mate-terminal -e 'workon foo'")
也不行。
重点是快速创建一个新的虚拟环境,并在以后为每个项目处理它(它是一个自动化脚本)。 virtualenvwrapper
是最方便的选项。
mkvirtualenv
和 workon
命令是 shell 函数,而不是 PATH
[0] 中的可执行文件。
要使它们在您执行它们的 shell 中可用,您需要获取定义它们的 virtualenvwrapper.sh
shell 脚本。你最好直接打电话给 virtualenv /path/to/foo
。
不过,如何激活该 virtualenv 是另一回事,这取决于您要在其中使用它的上下文。如果您在子进程中激活它,则每个使用它的进程都必须 运行在 child.
之内或之下
嗯,
dtk
PS 此外,您可以查看 subprocess
module (or even the third-party sh
) 以调用外部程序。编码愉快:)
[0]:在终端中查看 $ which workon
与 $ which bash
bashshell脚本中的以下代码
env_name="<your env name>"
echo "Create virtual environment"
source `which virtualenvwrapper.sh`
mkvirtualenv $env_name -p python<$version>
source $HOME/.virtualenvs/$env_name/bin/activate
workon $env_name
然后 运行 bash 来自终端 source test.sh
的脚本(例如:test.sh
)
当我尝试使用 mkvirtualenv
(virtualenvwrapper 命令)和 os.system
像这样
import os
os.system('mkvirtualenv foo')
没有任何反应。
os.system("mate-terminal -e 'workon foo'")
也不行。
重点是快速创建一个新的虚拟环境,并在以后为每个项目处理它(它是一个自动化脚本)。 virtualenvwrapper
是最方便的选项。
mkvirtualenv
和 workon
命令是 shell 函数,而不是 PATH
[0] 中的可执行文件。
要使它们在您执行它们的 shell 中可用,您需要获取定义它们的 virtualenvwrapper.sh
shell 脚本。你最好直接打电话给 virtualenv /path/to/foo
。
不过,如何激活该 virtualenv 是另一回事,这取决于您要在其中使用它的上下文。如果您在子进程中激活它,则每个使用它的进程都必须 运行在 child.
之内或之下嗯, dtk
PS 此外,您可以查看 subprocess
module (or even the third-party sh
) 以调用外部程序。编码愉快:)
[0]:在终端中查看 $ which workon
与 $ which bash
bashshell脚本中的以下代码
env_name="<your env name>"
echo "Create virtual environment"
source `which virtualenvwrapper.sh`
mkvirtualenv $env_name -p python<$version>
source $HOME/.virtualenvs/$env_name/bin/activate
workon $env_name
然后 运行 bash 来自终端 source test.sh
test.sh
)