Shell脚本设置virtualenv和pip

时间:2017-04-24 07:34:23

标签: python-3.x shell pip virtualenv

我正在编写一个shell脚本来设置我的虚拟环境并通过pip安装所有相关的python包。

virtualenv -q -p /usr/bin/python3.5 $1
/bin/bash $1/bin/activate
pip install -r requirements.txt

$ 1是virtualenv的名称。 我遇到的问题是pip命令在我的virtualenv中不起作用,而是在全局执行。

3 个答案:

答案 0 :(得分:4)

我的意思是你要知道你必须激活virtualenv:

  

来源激活

我不确定是否可以在shell脚本中完成此操作,但您可以按以下方式尝试:

virtualenv -q -p /usr/bin/python3.5 $1
source $1/bin/activate
$1/bin/pip install -r requirements.txt
# pip install -r requirements.txt

摘录自激活:

$ cat activate
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

答案 1 :(得分:2)

看起来您找到了问题的解决方案,但为了将来参考,您无需激活virtualenv以便在其中运行pip:

#!/bin/bash
virtualenv -q -p /usr/bin/python3.5 $1
$1/bin/pip install -r requirements.txt

答案 2 :(得分:0)

缺少的是shebang 我必须使用source myscript.sh

启动脚本
#!/bin/bash
virtualenv -q -p /usr/bin/python3.5 $1
source $1/bin/activate
pip install -r requirements.txt