【发布时间】:2025-12-01 15:45:01
【问题描述】:
我想创建一个没有全局 python 包的 virtualenv,但使用共享的 scipy 发行版;安装 scipy 需要相当长的时间,我不想太频繁地完成这些动作。
所以我运行 add2virtualenv /Library/Python/2.7/site-packages/scipy 并在运行 add2virtualenv 后显示目录已添加。 (我仔细检查了,它是正确的目录)。
然后我发出workon myfile 以确保重新加载工作目录。
但是,当我尝试加载 scipy 时,它是一个 ImportError: No module named scipy。这是意料之外的。
有没有人在非全局站点包 virtualenv 中使用全局 scipy?
【问题讨论】:
-
add2virtualenv 将指定目录添加到 PYTHONPATH。因此,您应该添加整个站点包以导入 scipy。
-
另一种解决方案应该是在虚拟环境的站点包内符号链接 scipy 目录
-
谢谢。所以我误解了应该使用 add2virtualenv 的方式。是否没有可以轻松添加特定包的命令? (除了符号链接?)
-
我不知道 virtualenvwrapper 是如何工作的,但我不这么认为......对我来说,符号链接似乎是一个很好的解决方案。毕竟,virtualenv 的站点包中的许多模块都是符号链接的。
-
我通常做的是创建一个带有
--no-system-site-packages、pip install scipy、numpy 等的“基础”virtualenv,然后在我想要一个新的“一次性”时使用cpvirtualenv克隆它virtualenv 乱搞。
标签: python macos scipy virtualenv virtualenvwrapper