这是我第一次使用virtualenv和MySQLdb,我收到了一个奇怪的错误。在我设置了这个virtualenv之后,我在virtualenv中安装了MySQLdb(实际上已经激活了ENV)。 MySQLdb未全局安装。当我在我的ENV文件夹中,打开一个python终端,并尝试导入模块我得到以下内容:
导入MySQLdb Traceback(最近一次调用最后一次): 文件"",第1行,in ImportError:没有名为MySQLdb的模块
然而,当我从site-packages文件夹
执行相同的操作时... ENV / LIB / python2.7 /站点包
一切似乎都运转得很好。导入MySQLdb
另外,当我跑
时帮助('模块')
从任一目录中,我得到的列表略有不同(即使它告诉我我使用相同的python可执行文件)。出于某种原因,同样的python可执行文件正在从不同的地方获取它的模块,并且它唯一能够获得它应该拥有的模块在ENV内部,在这种情况下是site-packages文件夹。如果我不在site-packages文件夹中,它似乎得到一个不同的列表,我无法访问MySQLdb。
我使用Mac OSX Mavericks,XCode是我所知道的最新版本(我发现我并没有使用它)。
我用它来设置virtualenv
virtualenv -p /usr/local/Cellar/python/2.7.8/bin/python ENV
which python
在ENV和site-packages中都给了我这个
... ENV /斌/蟒
版本
virtualenv版本1.11.6 python 2.7.8(不是默认的python)
已安装sqlalchemy
(ENV)tims-mbp:ENV timbauer$ pip install sqlalchemy
我得到完全相同的影响。看起来即使它在ENV内部使用正确的python,这个版本的python只有在它直接位于site-packages文件夹中时才能获得正确的模块列表。否则它看起来像是从全局列表中拉出来的
答案 0 :(得分:0)
发现了这个问题。在ENV / bin / pip里面有一条线说了这个
#!/Users/timbauer/Desktop/ENV/bin/python2.7
需要说明这个
#!/Users/timbauer/Desktop/ENV/bin/python
切换以上并重新启动终端似乎修复了所有问题。我不得不删除virtualenv并重新安装所有内容以使其工作,但我刚刚开始,所以这不是一个大问题。