virtualenv、sys.path与site-packages

4 投票
1 回答
1473 浏览
提问于 2025-04-16 02:42

我正在为Django的部署设置一个虚拟环境。我想要一个隔离的环境,不想让它访问全局的包。我使用了--no-site-packages这个选项,然后为这个环境安装了一个本地的pip实例。

在使用pip和requirements.txt文件后,我发现大部分包都安装在一个“build”文件夹里,而这个文件夹不在sys.path中,所以我遇到了一个错误,比如:

“没有名为django.conf的模块”

我还在基础的虚拟环境包之后安装了virtualenvwrapper。

据我记得,我之前没有见过“build”文件夹,我很好奇为什么这些包没有直接安装到我本地环境的site-packages文件夹里。我应该如何指向那个build文件夹,为什么它会存在呢?

谢谢

1 个回答

1

看起来是因为在需求列表中有一个包找不到,导致pip的过程提前结束了。这让事情停在了一个临时的“构建”文件夹里,没能完成整个过程,也就没能把这些包放到正确的“site-packages”位置。

撰写回答