Anh*_*yen 4 shell pip virtualenv python-3.x
我正在编写一个shell脚本来设置我的虚拟环境并通过pip安装所有相关的python软件包。
virtualenv -q -p /usr/bin/python3.5 $1
/bin/bash $1/bin/activate
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
$ 1是virtualenv的名称。我的问题是pip命令在我的virtualenv中不起作用,而是在全局执行。
正如我想知道的那样,您必须使用以下方法激活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
Run Code Online (Sandbox Code Playgroud)
从激活摘录:
$ cat activate
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly
Run Code Online (Sandbox Code Playgroud)
看起来您已经找到了问题的解决方案,但为了将来参考,您无需激活 virtualenv 即可在其中运行 pip:
#!/bin/bash
virtualenv -q -p /usr/bin/python3.5 $1
$1/bin/pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)