मैंने डाउनलोड किया और MySQL 5.5.8 (http://dev.mysql.com/downloads/mysql/) और MySQLdb पायथन प्लगइन के लिए निर्देशों का पालन किया। (http://sourceforge.net/projects/mysql-python/)पायथन आयात MySQLdb त्रुटि - मैक 10.6
जब मैं एक अजगर टर्मिनल के लिए MySQLdb आयात करने का प्रयास है, मैं नीचे त्रुटि मिलती है:
Safira:~ yanigisawa$ python --version
Python 2.6.1
Safira:~ yanigisawa$ python -c "import MySQLdb"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib
Referenced from: /Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
Reason: image not found
Safira:~ yanigisawa$
मैं ढेर अतिप्रवाह पर सवाल 4559699 पाया, और वहाँ निर्देशों का पालन किया:
Safira:~ yanigisawa$ echo $DYLD_LIBRARY_PATH
/usr/local/mysql/lib
Safira:~ yanigisawa$ ls -l /usr/local/mysql/lib
total 363224
-rwxr-xr-x 1 root wheel 3787328 Jan 18 19:41 libmysqlclient.16.dylib
-rw-r--r-- 1 root wheel 10035336 Dec 3 13:26 libmysqlclient.a
lrwxr-xr-x 1 root wheel 23 Jan 14 22:01 libmysqlclient.dylib -> libmysqlclient.16.dylib
lrwxr-xr-x 1 root wheel 20 Jan 14 22:01 libmysqlclient_r.16.dylib -> libmysqlclient.dylib
lrwxr-xr-x 1 root wheel 16 Jan 14 22:01 libmysqlclient_r.a -> libmysqlclient.a
lrwxr-xr-x 1 root wheel 20 Jan 14 22:01 libmysqlclient_r.dylib -> libmysqlclient.dylib
-rw-r--r-- 1 root wheel 88033760 Dec 3 13:22 libmysqld-debug.a
-rw-r--r-- 1 root wheel 84075304 Dec 3 13:26 libmysqld.a
-rw-r--r-- 1 root wheel 8472 Dec 3 13:26 libmysqlservices.a
drwxr-xr-x 13 root wheel 442 Dec 3 13:53 plugin
Safira:~ yanigisawa$ md5 /usr/local/mysql/lib/libmysqlclient.16.dylib
MD5 (/usr/local/mysql/lib/libmysqlclient.16.dylib) = b8a78a93183720021b9dbe9ddad57111
Safira:~ yanigisawa$
और सभी अजगर अंडे की फाइलों की सफाई के बाद, और पुनर्निर्माण, मुझे अभी भी वही त्रुटि मिली है। तब मुझे मैक 10.6 को प्रभावित करने वाले MySQL 5.5.8 में बग 59006 (http://bugs.mysql.com/bug.php?id=59006) मिला। मैंने वहां सूचीबद्ध काम-आसपास की कोशिश की, अंडे साफ कर दिए और पुनर्निर्मित किया, और मुझे अभी भी यह त्रुटि मिल रही है।
क्या इस समस्या के लिए पाइथन के लिए विशिष्ट कोई अन्य कार्य है? क्या मैं कुछ और याद कर रहा हूँ?
संपादित: otool आदेशों से उत्पादन जोड़ना:
$ otool -L /Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
:
Safira:~ yanigisawa$ otool -L /Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
/Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so:
libmysqlclient.16.dylib (compatibility version 16.0.0, current version 16.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)
Safira:~ yanigisawa$ otool -DX /usr/local/mysql/lib/libmysqlclient.16.dylib
/usr/local/mysql/lib/libmysqlclient.16.dylib
Safira:~ yanigisawa$
मै मैक ओएस के लिए अभी भी नया हूं। (अब लगभग 2 महीने) मुझे आशा है कि "आग से परीक्षण" प्राप्त करने के लिए कहा जाए और सबकुछ मैन्युअल तरीके से कम या कम काम कर सके। हालांकि, अगर मैं यह काम नहीं कर पा रहा हूं, तो मै मैक पोर्ट्स विकल्प का उपयोग करने का सहारा लेगा। सलाह के लिये धन्यवाद। – yanigisawa
मैकपॉर्ट्स समाधान अंततः काम किया। यह मेरी 2.6.1 स्थापना के साथ पायथन 2.6.6 स्थापित किया गया है, और/usr/bin/python अभी भी 2.6.1 की ओर इशारा करता है, जिसने मेरी अपाचे सीजीआई स्क्रिप्ट के साथ उपरोक्त त्रुटि उत्पन्न की है। मुझे 2.6.6 संस्करण में एक सिम्लिंक जोड़ना पड़ा, और सब कुछ ठीक काम करना शुरू कर दिया। धन्यवाद। – yanigisawa
सुनने के लिए खुशी हुई। लेकिन सावधान रहें: सामान्य रूप से, '/ usr/local' के अलावा, '/ usr' में कुछ भी ओवरराइट करना बहुत बुरा विचार है। यह सब ओएस एक्स के हिस्से के रूप में ऐप्पल द्वारा प्रबंधित किया जाता है। मुझे यकीन नहीं है कि क्या आपका मतलब है कि आप '/ usr/bin/python' को ओवरराइट करते हैं। एकाधिक संस्करणों को संभालने के लिए बेहतर तरीके हैं 'स्टार्टअप फ़ाइलों को' $/PATH' के सामने '/ opt/local/library/frameworks/Python.framework/संस्करण/2.6/bin' डालने के लिए खोलें या संदर्भित करते समय पूर्ण संदर्भ का उपयोग करें पायथन के लिए, '/opt/local/bin/python2.6 '। मदद के लिए –