[英]Version error after pip installing MySQL-python on OSX
我已經成功地將MySQL-python
安裝到我的虛擬環境中,事實證明PyCharm可以導入它。 但是,我收到此消息:
ImportError: this is MySQLdb version (1, 2, 4, 'beta', 4), but _mysql is version (1, 2, 5, 'final', 1)
我的安裝方法是:
export PATH=$PATH:/usr/local/mysql/bin
export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments
pip install MySQL-python
這將返回成功的構建。 我真的不明白問題是什么, pip
為我提供了損壞的目錄嗎?
我試圖通過谷歌搜索和類似的解決方法來解決這個問題,但沒有成功。 然后,我嘗試從sourceforge下載1.2.4b4版本,並在venv中構建它。 這給了我以下錯誤:
ld: warning: ignoring file /usr/local/Cellar/mysql/5.6.19/lib/libmysqlclient_r.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/Cellar/mysql/5.6.19/lib/libmysqlclient_r.dylib
我已經在mysql和python上運行文件$(which),返回mysql的64位版本以及python的32位和64位版本。
我真的不知道下一步該怎么做,非常感謝您的幫助,如果我錯過了什么,請告訴我! 謝謝
編輯:
我pip卸載了MySQL-python,並使用以下zip再次嘗試: https : //pypi.python.org/pypi/MySQL-python/1.2.5
pip install -Iv https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c
這給了我與以前相同的錯誤,指出MySQLdb是1.2.4b4版本,但_mysql是1.2.5。 這使我相信我可能有一個尚未卸載的MySQL-python版本。 我將如何進行測試? 謝謝!
幾個常見的潛在問題:
pip
和python
引用同一個解釋器。 最好通過執行source activate <NAME>
或將其添加到路徑而不是附加來激活虛擬環境。 pymysql
時,我所有的問題都消失了,其API與mysqldb
完全兼容。 更好的是,有一個方法install_as_MySQLdb()
使pymysql
看起來與mysqldb完全一樣,因此所有軟件包都希望后者能與前者一起使用。 我用於在OSX上進行設置的過程是:
brew install mysql gcc
。 如果您想將c
/ fortran
擴展編譯為python模塊,請使用gcc
。 brew doctor
conda create -n <NAME> python=3.4
source activate <NAME>
conda
,如果沒有軟件包,請嘗試pip
。 例如,我總是做conda install numpy
所以我不必自己編譯它,而我做pip install pymysql
感謝您提供上述答案,為以后的疑難解答提供了很好的建議。 我設法通過重新安裝1.2.5構建並重新啟動編譯器來解決此問題。
換句話說,我上面概述的方法應該有效。 為了將來參考,請確保您的bin / activate和bin / pip的路徑設置為venv,而不是開發人員團隊中的其他人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.