virtualenv中的IDLE无法正常工作?

时间:2014-07-14 07:09:49

标签: python virtualenv

我在virutalenv vpy1中安装了numpy和其他软件包。如果我在激活vpy1后在控制台中调用python命令,我可以更正导入这些包。

但是,如果我使用IDLE,则无法导入这些包:

>>> import numpy

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import numpy
ImportError: No module named numpy

然后我发现IDLE没有正确的virtualenv设置。如果我在控制台中调用python,设置将如下:

(vpy1)xxx ~ $ python
Python 2.7.6 (default, Jun  1 2014, 03:20:25) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.real_prefix
'/home/xxx/python-2.7.6'
>>> sys.executable
'/home/xxx/virtualenvs/vpy1/bin/python'

如果我使用IDLE:

(vpy1)xxx ~ $ which idle
/home/xxx/virtualenvs/vpy1/bin/idle
(vpy1)xxx ~ $ idle
#in IDLE
Python 2.7.6 (default, Jun  1 2014, 03:20:25) 
[GCC 4.6.3] on linux2
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.executable
'/home/xxx/python-2.7.6/bin/python2.7'
>>> hasattr(sys,'real_prefix')
False

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

终于解决了这个问题。在vpy1 / bin中,空闲直接链接到使用错误的shebang的/home/xxx/python-2.7.6/bin/idle。将shebang更改为#!/usr/bin/env python解决此问题。