从Python虚拟环境导入模块(SQLITE3)
我在一台装有Windows的电脑上,安装了python、django和pinax。
我可以从任何正常的位置导入模块(即使这些模块不在实际安装的目录里)。但是,当我在为Pinax创建的虚拟环境中时,却无法导入这些相同的模块。
这可能是什么原因呢?有什么解决办法吗?
2 个回答
2
要找出为什么导入失败,可以试着在python后面加上-v这个选项:
python -v my_program.py
这样做会显示它在导入你的模块时的尝试过程。
1
正如总结所说,
[[virtualenv]] 创建了一个环境, 这个环境有自己的安装目录, 不会和其他的虚拟环境共享库文件(而且可以选择不使用全局安装的库)。
但是你似乎对自己创建的虚拟环境“没有共享库”感到惊讶……你为什么会惊讶呢?这正是虚拟环境的主要目的啊!-)
一旦你使用了 python virtualenv.py ENV
来创建虚拟环境,继续引用我之前提到的总结,“如果你使用 ENV/bin/easy_install,包会被安装到这个环境中”。
所以,使用这个方法来安装你需要在虚拟环境中导入的所有包。
(假设你在创建虚拟环境时使用了 --no-site-packages
这个选项,那么你也需要对所有已经“全局安装”的包这样做,因为这个选项的目的是为了更好地控制和隔离它们)。