標籤:
系統內容:MAC OSX 10.9.2
Python版本:2.7.5
新入手的RMBP,內建了Python環境,但是將其投入到生產環境時,出現了種種問題,首先最最致命的,就是安裝模組出現問題,導致一直無法正常開發,下面是本人在安裝Python模組的時候,所出現並解決的,總結如下,希望對後來者有協助(拿MySQL-python舉例,安裝PIL也遇到了同樣的問題):
(1)不管在使用easy_install安裝模組,還是下載安裝包,使用sudo python setup.py build安裝,都會出現:
******
error: command ‘cc‘ failed with exit status 1
clang: error: unknown argument: ‘-mno-fused-madd‘ [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command ‘cc‘ failed with exit status 1
經過一系列的尋找:http://www.tuicool.com/articles/zI7Vzu,貌似是MAC OS的Xcode從5.1起給編譯器規定對於未知參數傳入視為error,我們需要使用ARCHFLAGS將該error降級為warning,因此最後的安裝命令應該如下:
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install MySQL-python
這樣,問題就解決了,成功安裝上了MySQL-python
(2)雖然安裝上了MySQL-python,在代碼開發過程中,運行代碼,問題又出現了:
******
import MySQLdb
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/kris/.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/kris/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.9-intel.egg-tmp/_mysql.so
Reason: image not found
經過尋找,我添加兩個符號連結(軟連結):
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
再次運行程式,問題就解決了。
MAC OSX使用Python安裝mysql模組問題