这是我第一次使用virtualenv和MySQLdb,我遇到了一个奇怪的错误。在我设置了这个virtualenv之后,我在virtualenv中安装了MySQLdb(实际上激活了ENV)。MySQLdb不是全局安装的。打开python文件夹时,请尝试打开以下模块:
import MySQLdb Traceback (most recent call last): File "", line 1, in ImportError: No module named MySQLdb
但是,当我从site packages文件夹执行相同的操作时
…环境/lib/python2.7/site-packages
import MySQLdb
一切似乎都很好。在
还有,当我跑步的时候
help ('modules')
从这两个目录中,我得到的列表略有不同(即使它告诉我我使用的是同一个python可执行文件)。这就像是因为某种原因,同一个python可执行文件从不同的地方获取它的模块,而它获得模块的唯一时间是在ENV内部,在本例中是site packages文件夹。如果我不在site packages文件夹中,它似乎得到了一个不同的列表,我无法访问MySQLdb。在
我用的是macosx小牛,据我所知XCode是最新的(我发现我很少使用它)。在
我用这个来设置virtualenv
virtualenv -p /usr/local/Cellar/python/2.7.8/bin/python ENV
which python
在ENV和site包中都提供了这一点
...ENV/bin/python
版本
virtualenv 1.11.6版 python2.7.8(不是默认的python)
已安装sqlalchemy
^{pr2}$我也得到了同样的感觉。似乎即使它在ENV中使用了正确的python,但只有当它直接位于site packages文件夹中时,python版本才能获得正确的模块列表。否则,它看起来像是从全球名单上拉出来的
发现了问题。在ENV/bin/pip里面有一行写着
我要说的是
^{pr2}$关闭上述功能并重新启动终端似乎解决了所有问题。我不得不删除virtualenv并重新安装所有的东西来让它正常工作,但我才刚刚开始,所以这并不是什么大问题。在
相关问题 更多 >
编程相关推荐