add2virtualenv(virtualenv包装器)不适用于scipy

Okk*_*kke 6 python macos virtualenv scipy virtualenvwrapper

我想创建一个没有全局python包的virtualenv,但是要共享scipy发行版; 安装scipy需要很长时间,我不想经常进行动作.

所以我运行add2virtualenv /Library/Python/2.7/site-packages/scipy并在运行add2virtualenv后显示该目录已添加.(我是双重检查,这是正确的目录).然后我发出workon myfile以确保重新加载工作目录.但是,当我尝试加载scipy时,它是一个ImportError: No module named scipy.这是出乎意料的.

有没有人在非全球网站包virtualenv中使用全球scipy?

ber*_*lus 3

所以,总而言之,这里的实际问题是必须使用包含要导入的包的目录,而不是特定的包。也就是说,而不是

add2virtualenv /Library/Python/2.7/site-packages/scipy
Run Code Online (Sandbox Code Playgroud)

它应该是

add2virtualenv /Library/Python/2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

请注意:此解决方案的缺点是您不仅包含 scipy,还包含/Library/Python/2.7/site-packages.


另一种节省空间的解决方案可以是在虚拟环境的站点包内符号链接 scipy 目录。这可以在您的虚拟环境中通过以下方式完成:

cdsitepackages
ln -s /Library/Python/2.7/site-packages/scipy scipy
Run Code Online (Sandbox Code Playgroud)

所有积分均归@rubik(参见评论)

查看答案以查找您的站点包路径,以防它与此处使用的路径不同。