使用virtualenv导入错误

esp*_*akk 10 python virtualenv

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

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

但是,当我尝试做:source virtualenv/bin/activate然后导入其中一个模块python import modulename我得到一个导入错误,说该模块不存在.这是怎么回事?它似乎永远不会激活甚至它所说的那样.

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

Car*_*yer 16

在这台机器上是否有一个bash别名为"python"活动,任何机会?这将优先于activate激活的PATH修改,并可能导致使用错误的python二进制文件.

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

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

  • 我只是遇到了同样的问题。你如何摆脱 bash 别名? (2认同)

cod*_*ape 10

激活虚拟环境后,尝试:

$ python
>>> import sys
>>> sys.executable
...
Run Code Online (Sandbox Code Playgroud)

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

还检查:

>>> sys.path
[...]
Run Code Online (Sandbox Code Playgroud)

  • 然后什么?? (5认同)