使用virtualenv导入错误

时间:2009-12-15 17:26:21

标签: python virtualenv

我遇到了virtualenv的问题。我经常使用它,我在我的开发机器和几台服务器上使用它。但是在最后一台服务器上我尝试使用我遇到了问题。

我使用--no-site-packages参数创建了一个virtualenv,然后我在virtualenv中安装了一些python模块。我可以确认模块位于virtualenvs站点包内,一切似乎都没问题。

但是当我尝试执行:source virtualenv/bin/activate然后导入其中一个模块python import modulename时,我收到导致该模块不存在的导入错误。这是怎么回事?它似乎永远不会激活它所说的它。

有人知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:16)

在这台机器上是否有“bthon”活动的bash别名,有机会吗?这将优先于activate激活的PATH修改,并可能导致使用错误的python二进制文件。

尝试直接运行virtualenv / bin / python(无需激活),看看是否可以导入模块。

如果这样修复它,你只需要摆脱你的python bash别名。

答案 1 :(得分:8)

激活虚拟环境后,请尝试:

$ python
>>> import sys
>>> sys.executable
...

...并查看您是否正在运行预期的可执行文件。

同时检查:

>>> sys.path
[...]

答案 2 :(得分:0)

IIRC,激活脚本只是将您的虚拟环境放在您的路径上,因此当您键入“python”时,它首先在您的虚拟环境中找到它。如果激活脚本失败,您始终可以手动编辑路径。另外 - 到这里搜索“激活”:http://pylonsbook.com/en/1.1/installing-pylons.html#setting-up-a-virtual-python-environment。这将告诉您为什么activate命令可能失败。