mac安裝mysqldb-Python


中間遇到很多問題,現在把查到的資料放在這里,僅供參考

http://blog.csdn.net/janronehoo/article/details/25207825

安裝環境:OS X操作系統,Python 2.7.3。

  MySQLdb其實包含在MySQL-python包中,因此無論下載還是在pip中search,都應該是搜尋MySQL-python。

  以下將說明MySQLdb兩種常見的安裝方式,下載安裝或者pip安裝MySQL-python。 

 下載MySQLdb

  在SourceForge可以下載MySQL-python-1.2.4b4.tar,下載后解壓,然后在終端Terminal中執行以下命令:

new-host-3:~ iFantastic$ cd /Users/iFantastic/Downloads/MySQL-python-1.2.4b4

new-host-3:MySQL-python-1.2.4b4 iFantastic$ python setup.py install

 使用pip安裝MySQLdb

  在終端中執行:

new-host-3:~ iFantastic$ pip install MySQL-python

  無論是在線安裝還是下載安裝,此時你可能會遇到第一個錯誤提示:

EnvironmentError: mysql_config not found

  建議使用pip安裝,因為我從sourceforge下載的版本居然不如pip中的新。如果想要升級mysql-python版本,可以使用以下命令:

$ easy_install MySQL-python --upgrade

  [注意]如果你沒有按照下文解決安裝中的錯誤提示,那么升級也會因為同樣的錯誤原因而失敗。

 解決mysql_config not found錯誤

  在默認方式安裝Mac版MySql時,會在/usr/local/mysql/bin目錄下生成mysql_config文件。

  因此下載安裝時的解決辦法為:在MySQL-python的安裝包中找到site.cfg文件,打開它,找到以下內容:

# The path to mysql_config. # Only use this if mysql_config is not on your PATH, or you have some weird # setup that requires it. # mysql_config = /usr/local/bin/mysql_config

  將最后一句句首井號去掉,並修改為:

mysql_config = /usr/local/mysql/bin/mysql_config

  然后執行:

$ python setup.py install

  一般說來,此時安裝可以完成,但仍有問題,下文會繼續闡述。

  使用pip安裝時沒有辦法修改site.cfg文件,因此可以通過修改OS X的系統環境變量來解決找不到mysql_config的錯誤。

  修改OS X環境變量:打開終端,在終端中使用vim打開“~/.bash_profile”,如果沒有安裝vim,那就顯示隱藏文件用文本編輯器打開,具體操作這里就不復述了。在.bash_profile中添加以下內容:

PATH="/usr/local/mysql/bin:${PATH}" export PATH export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ export VERSIONER_PYTHON_PREFER_64_BIT=no export VERSIONER_PYTHON_PREFER_32_BIT=yes

  其中 VERSIONER_PYTHON_PREFER_64_BIT和VERSIONER_PYTHON_PREFER_64_BIT根據自己安裝的MySQL進行選擇。

  另外再提供一個pip安裝時找不到mysql_config的解決方法(我沒有驗證),在終端中輸入以下命令:

$ sudo ln -s /usr/local/mysql/bin/* /usr/bin

  好了,到這里,MySQL-python包應該基本順利安裝。

 解決 Reason: image not found 錯誤

  安裝完MySQL-python包后,讓我們import MySQLdb,此時出現一個錯誤,錯誤最后一行寫着 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
 

 

 

錯誤:

 

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

經網上查證: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 python setup.py build

 

參考

http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html

 

 

http://www.liuhuadong.com/archives/1628

在mac上使用python,與centos相比可能出現的問題比較多,這里解決一個這樣的問題的解決辦法。
mac中使用mysqldb提示以下錯誤:

Traceback (most recent call last):
  File "./b", line 26, in 
    import MySQLdb
  File "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/MySQLdb/__init__.py", line 19, in 
    import _mysql
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): no suitable image found.  Did find:
	/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so: mach-o, but wrong architecture

原因是因為mac不同於其它linux,有些動態庫需要手動編譯,特別注意是mac是64位操作系統,所以要打開這個選項重新編譯。具體操作如下,在當前用戶下編輯:

vim ~/.bash_profile

添加以下內容(去掉行號):

 22 PATH="/usr/local/mysql/bin:${PATH}"
 23 export PATH
 24 export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
 25 export VERSIONER_PYTHON_PREFER_64_BIT=yes
 26 export VERSIONER_PYTHON_PREFER_32_BIT=yes

然后載入修改后的配置:

source ~/.bash_profile

再進入mysqlpython目錄,編譯安裝:

python setup.py build
python setup.py install

需要注意,在不同用戶下都要修改和載入bash_profile,否則非當前用戶不能生效。

 

http://rabbit52.com/2012/desktopos/mac/mac-dyld_library_path-error

Mac 上安裝mysql 和 python-mysqldb 之后不能在 python 中 import 需要設置 “DYLD_LIBRARY_PATH” 環境變量,一般都是加上

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"

解決,但是這樣做的話會在終端執行 sudo 命令的時候報錯

dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid

實際上這是 Mountain Lion 的 一個bug

不過還是有辦法解決的,如果你出現問題的原因和我一樣,那么執行下面這句命令並且刪除最上面的那句環境變量配置就OK了

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM