用于设置Virtualenv和pip的外壳脚本



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

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

$ 1是Virtualenv的名称。我遇到的问题是,PIP命令在我的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

看来您已经找到了解决问题的解决方案,但是对于将来的参考,您无需激活Virtualenv即可在其中运行PIP:

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

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

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

最新更新