我们必须在这里区分两种情况:
- 你想在你的bash脚本使用/调用Python(或基于Python的工具),但Python或这些工具应采取和运行在virtualenv中
- 你想一个脚本,除其他事项外,让您从中调用它进入virtualenv中,这样就可以交互调用Python(或基于Python的工具)的virtualenv中
壳里面
案例1:在脚本中使用virtualenv
如何在bash脚本中输入Python virtualenv?
就像交互式bash命令行:
source /path/to/the/virtual_env/bin/python
什么是这里的标准方法?
的标准方法是不到进入在bash脚本的virtualenv。相反,请调用python和/或基于python的命令来使用其完整路径。为了使这更容易,更少重复,可以使用别名和变量。
案例2:通过调用脚本
已经有这样一个脚本激活在交互式的bash会话的virtualenv。它被称为activate
,它位于virtualenv的bin
目录中。你必须要source
而不是像普通的命令那样调用它。只有这样它才能在同一个会话中运行,而不是在子shell中运行,因此只有这样它才能对会话进行修改,而不会因为子脚本在脚本结尾处终止而丢失。
所以只是做:
source /path/to/the/virtual_env/bin/python
在交互式shell会话。
但是如果你想要做的比activate
脚本更多呢?你可以把
source /path/to/the/virtual_env/bin/python
放到一个shell脚本中。 但是,由于上面提到的原因,当您正常调用脚本时,它不会有太大的影响。相反,source
您的脚本可以在交互式会话中使用它。
这样:的my_activate.sh
#!/bin/bash
# Do something
# ...
# then
source /path/to/the/virtual_env/bin/python
# Do more stuff
# ...
和交互式会话
source my_activate.sh
使用Python脚本进入蟒蛇的virtualenv
内容。用#开始文件!/usr/bin/env python' –
@IporSircer如何使用python脚本输入virtualenv? – ShanZhengYang