【发布时间】:2020-02-27 23:48:14
【问题描述】:
情况:我创建了一个虚拟环境并使用显式路径来运行pip(没有采购activate)。它是在全局dist-packages 中安装软件包还是将它们安装在虚拟环境的site-packages 中。
详情:
正如Where does pip install its packages? 解释的那样,当与虚拟环境一起使用时,pip 会在<virtualenv_name>/lib/<python_ver>/site-packages 中安装包。根据我的经验,当我激活 virtualenv 时这是真的。我有一个现有的 bash 脚本,它直接指向 pip 可执行文件,而无需激活 virtualenv。这是否仍然在 virtualenv 的站点包中安装包?还是将它们安装在/local/lib/<python-version>/dist-packages 中?
注意:我使用的是 Ubuntu 16.04
【问题讨论】:
-
在 *ix 下,检查您正在调用的脚本的第一行(即
$VIRTUAL_ENV/bin/pip)以了解它引用的是哪个 Python - 以及哪个包安装目标。 -
Virtualenv "activation" 只是修改了
PATH变量,所以正确的可执行文件被预先设置(它实际上做的不止这些,但在这里不相关)。因此source env/bin/activate && pip install与直接调用env/bin/pip install相同。 -
@blubberdiblub 你说的“*ix”是什么意思?
-
@Code-Apprentice Linux、Unix、MacOS
标签: python pip virtualenv