mySQL は問題なく稼働しているようです。しかし、MySQLdb を Python にインポートしようとすると、ImportError: ... Expected in: flat namespace
. Pythonに2つの異なるバージョンがあることに関係していると思います(2つの異なるディレクトリ、同じバージョン)
OS: マック 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 と最新の 2 つのバージョンがあります。
- Python を呼び出すと、「現在の」バージョンが呼び出されます。それは理にかなっています、それは $PATH にあります。
- ただし、EDP パッケージをインストールしたときに削除したバージョン 2.7 (7.2 ではない) も PATH にあります。... PATH とは何か、または何をするのかを完全には理解していないので、変更を開始したくありませんでした
- MySQL-python はバージョン 7.2 でインストールされます
- 必要なファイルがなく、
flat namespace
インストールされた場所にもあるため、サーバーを実行できません
これらのパスを解く方法はありますか (それが問題の場合)
前もって感謝します