用于设置 virtualenv 和 pip 的 Shell 脚本

新手上路,请多包涵

我正在编写一个 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 中不起作用,而是在全局执行。

原文由 Anh Tuan Nguyen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 407
2 个回答

正如我的意思,您必须使用以下命令激活 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

原文由 Claudio 发布,翻译遵循 CC BY-SA 3.0 许可协议

看起来您已经找到了问题的解决方案,但为了将来参考,您不需要激活 virtualenv 即可在其中运行 pip:

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

原文由 Adam Byrtek 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进