Django &引用;恐怖分子:。。。应位于:平面命名空间“中;在设置mysql数据库时

Django &引用;恐怖分子:。。。应位于:平面命名空间“中;在设置mysql数据库时,django,terminal,python-2.7,mysql-python,enthought,Django,Terminal,Python 2.7,Mysql Python,Enthought,mySQL看起来运行良好。但是当我尝试将MySQLdb导入python时,我得到了一个ImportError:。。。应为:平面命名空间。我认为这与python有两个不同的版本有关(两个不同的目录,相同的版本) 操作系统:Mac 10.6.8 $ ls /Library/Frameworks/Python.framework/Versions/ 7.2 Current $ which python /Library/Frameworks/Python.framework/Versions/Cur

mySQL看起来运行良好。但是当我尝试将MySQLdb导入python时,我得到了一个
ImportError:。。。应为:平面命名空间
。我认为这与python有两个不同的版本有关(两个不同的目录,相同的版本)

操作系统:Mac 10.6.8

$ ls /Library/Frameworks/Python.framework/Versions/
7.2 Current

$ which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

$ easy_install MySQL-python
...
...
Using /Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg
...

$ mysql.server start
Starting MySQL
.. SUCCESS!

$ python manage.py runserver
...
...
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg/_mysql.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg/_mysql.so
  Expected in: flat namespace
 in /Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg/_mysql.so

$ python
Enthought Python Distribution (EPD) free version -- www.enthought.com
Version: 7.2-2 (32-bit)

>>> import MySQLdb
...
...
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg/_mysql.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg/_mysql.so
  Expected in: flat namespace
 in /Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.5-i386.egg/_mysql.so
因此,除了不熟悉django和python之外,我还不熟悉终端的使用,我不太确定我在看什么

但我可以说出显而易见的事实:

  • 我有两个版本,7.2和最新版本
  • 如果我调用python,它将调用“当前”版本。这是有道理的,它位于$PATH中
  • 然而,版本2.7(不是7.2)也在我安装EDP包时删除的路径中。。。我不完全理解路径是什么,所以我不想开始改变事情
  • MySQL python安装在7.2版中
  • 无法运行服务器,因为必需的文件不在
    平面命名空间中,而且也在安装位置
有没有办法解开这些路径(如果有问题的话)


提前谢谢你

好吧。。。我认为它与python的“当前”和“7.2”版本没有任何关系

它似乎在做了这件事之后就修好了

pip uninstall MySQL-python
brew uninstall mysql
brew install mysql --universal
pip install MySQL-python

我不确定是不是
--universal
造成了差异,还是使用了pip安装而不是easy\u安装

您确实安装了MySQL客户端库,对吗?呃。。。不我想我没有。你能告诉我一个好的步行路线吗?提前感谢安装MySQL通常会涵盖这一点,所以我想你现在已经有了。嗯,这个问题当时可能很无知,但有没有办法确认它们已安装?尝试导入
MySQLdb
。尝试了这个,但得到了--“配置不完整,出现错误!”,当尝试安装--universal版本时,但是没问题。