从Python虚拟环境导入模块(SQLITE3)

0 投票
2 回答
1053 浏览
提问于 2025-04-16 01:56

我在一台装有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 这个选项,那么你也需要对所有已经“全局安装”的包这样做,因为这个选项的目的是为了更好地控制和隔离它们)。

撰写回答