ฉันเพิ่งคอมไพล์และติดตั้ง mysqldb สำหรับ python 2.7 บน mac os 10.6 ฉันสร้างไฟล์ทดสอบอย่างง่ายที่นำเข้า
import MySQLdb as mysql
ประการแรกคำสั่งนี้มีการขีดเส้นใต้สีแดงและข้อมูลบอกฉันว่า "การนำเข้าที่ไม่ได้รับการแก้ไข" จากนั้นฉันพยายามเรียกใช้รหัสหลามแบบง่าย ๆ ดังต่อไปนี้
import MySQLdb as mysql
def main():
conn = mysql.connect( charset="utf8", use_unicode=True, host="localhost",user="root", passwd="",db="" )
if __name__ == '__main__'():
main()
เมื่อดำเนินการฉันจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้
Traceback (most recent call last):
File "/path/to/project/Python/src/cvdv/TestMySQLdb.py", line 4, in <module>
import MySQLdb as mysql
File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in <module>
\namespace cvdv
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/toom/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg-tmp/_mysql.so
Reason: image not found
อะไรคือวิธีการแก้ไขปัญหาของฉัน?
แก้ไข: ที่จริงฉันพบว่าห้องสมุดอยู่ใน / usr / local / mysql / lib ดังนั้นฉันต้องบอกรุ่น pydev eclipse ของฉันเพื่อค้นหา ฉันจะตั้งค่านี้ที่ไหน
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib