我想创建一个没有全局python包的virtualenv,但是要共享scipy发行版;安装scipy需要很长时间,而且我不想经常进行这些动作。
所以我运行add2virtualenv /Library/Python/2.7/site-packages/scipy
并在运行add2virtualenv之后显示添加了目录。 (我是双重检查,这是正确的目录)。
然后我发出workon myfile
以确保重新加载工作目录。
但是,当我尝试加载scipy时,它是ImportError: No module named scipy
。这是出乎意料的。
有没有人在非全球网站包virtualenv中使用全局scipy?
答案 0 :(得分:3)
因此,总而言之,这里的实际问题是必须使用包含要导入的包的目录,而不是特定的包。也就是说,而不是
add2virtualenv /Library/Python/2.7/site-packages/scipy
应该是
add2virtualenv /Library/Python/2.7/site-packages
注意:此解决方案的缺点是您不仅包括scipy,还包括/Library/Python/2.7/site-packages
中的任何其他包。
另一个节省空间的解决方案可能是在虚拟环境的site-package中symlinking scipy目录。这可以通过虚拟环境完成:
cdsitepackages
ln -s /Library/Python/2.7/site-packages/scipy scipy
所有学分转到@rubik(见评论)
查看this答案,找到您的网站套餐路径,以防它与此处使用的路径不同。