Mac OS X10.9.3安裝mysq

  • 2020 年 1 月 10 日
  • 筆記

最近在學習python的django架構,學到資料庫連接這部分,需要import MySQLdb這個模組,系統自帶沒有安裝,於是乎用最簡單的方法安裝

sudo easy_install mysql_python

順利安裝成功後,執行如下命令導入模組測試,發現仍舊報錯

ClovemFongdeMacBook-Pro:~ bruce$ python    Python 2.7.5 (default, Mar  9 2014, 22:15:05)    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin    Type "help", "copyright", "credits" or "license" for more information.    >>> import MySQLdb    Traceback (most recent call last):      File "<stdin>", line 1, in <module>      File "build/bdist.macosx-10.9-intel/egg/MySQLdb/__init__.py", line 19, in <module>      File "build/bdist.macosx-10.9-intel/egg/_mysql.py", line 7, in <module>      File "build/bdist.macosx-10.9-intel/egg/_mysql.py", line 6, in __bootstrap__    ImportError: dlopen(/Users/bruce/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.9-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib      Referenced from: /Users/bruce/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.9-intel.egg-tmp/_mysql.so      Reason: p_w_picpath not found

解決方法:創建軟連接或者修改環境變數

ClovemFongdeMacBook-Pro:~ bruce$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib    

然後就OK了

ClovemFongdeMacBook-Pro:~ bruce$ python    Python 2.7.5 (default, Mar  9 2014, 22:15:05)    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin    Type "help", "copyright", "credits" or "license" for more information.    >>> import MySQLdb    >>>    >>>    >>>    >>> dir(MySQLdb)    ['BINARY', 'Binary', 'Connect', 'Connection', 'DATE', 'DATETIME', 'DBAPISet', 'DataError', 'DatabaseError', 'Date', 'DateFromTicks', 'Error', 'FIELD_TYPE', 'IntegrityError', 'InterfaceError', 'InternalError', 'MySQLError', 'NULL', 'NUMBER', 'NotSupportedError', 'OperationalError', 'ProgrammingError', 'ROWID', 'STRING', 'TIME', 'TIMESTAMP', 'Time', 'TimeFromTicks', 'Timestamp', 'TimestampFromTicks', 'Warning', '__all__', '__author__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__revision__', '__version__', '_mysql', 'apilevel', 'connect', 'connection', 'constants', 'debug', 'escape', 'escape_dict', 'escape_sequence', 'escape_string', 'get_client_info', 'paramstyle', 'release', 'result', 'server_end', 'server_init', 'string_literal', 'test_DBAPISet_set_equality', 'test_DBAPISet_set_equality_membership', 'test_DBAPISet_set_inequality', 'test_DBAPISet_set_inequality_membership', 'thread_safe', 'threadsafety', 'times', 'version_info']