我正在使用安装了 python、django 和 pinax 的 Windows 机器。
我可以从任何正常位置导入模块(即使它不在实际安装的目录中)。但是,当我在为 Pinax 构建的虚拟环境中时,我无法导入这些相同的模块。
这可能是什么原因?有哪些可能的解决方案?
要诊断导入失败,请尝试使用 -v 切换到 python:
python -v my_program.py
它将显示其导入模块的尝试。
正如总结所说,
[[virtualenv]] 创建一个有自己的安装目录的环境,它不与其他 virtualenv 环境共享库(并且可选地也不使用全局安装的库)。
然而,您似乎对您构建的 virtualenv“不共享库”感到惊讶......当不共享是virtualenv的全部意义时,您为什么会感到惊讶?!-)
一旦你做了一个python virtualenv.py ENV
, 继续引用我已经指出你的摘要,“如果你使用 ENV/bin/easy_install 包将被安装到环境中”。
因此,这样做以安装您需要在虚拟环境中导入的所有包。
(假设您已使用该--no-site-packages
选项创建虚拟环境,则您还需要对“站点范围”安装的所有软件包执行此操作,因为该选项的目的是排除它们以便更好地控制和隔离)。