mySQLdb是一個用于mysql的python界面,但它不是mysql本身。 顯然mySQLdb需要命令“mysql_config”,所以你需要先安裝。
你能否確認你是否通過從shell運行“mysql”來安裝mysql本身? 這應該給你一個“mysql:command not found”以外的響應。
你正在使用哪個Linux發行版? Mysql是為大多數Linux發行版預先打包的。 例如,對于debian / ubuntu,安裝mysql就像
sudo apt-get install mysql-server
mysql-config是在一個不同的軟件包,可以安裝(再次,假設debian / Ubuntu的):
sudo apt-get install libmysqlclient-dev
如果你使用的是mariadb,則replace為mysql,然后運行
sudo apt-get install libmariadbclient-dev
我在Ubuntu 12.04上安裝了python-mysql
pip install mysql-python
首先我有同樣的問題:
Not Found "mysql_config"
這對我有效
$ sudo apt-get install libmysqlclient-dev
然后我有這個問題:
... _mysql.c:29:20: error fatal: Python.h: No existe el archivo o el directorio compilación terminada. error: command 'gcc' failed with exit status 1
然后我嘗試著
apt-get install python-dev
然后我很高興:)
pip install mysql-python Installing collected packages: mysql-python Running setup.py install for mysql-python building '_mysql' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g In file included from _mysql.c:44:0: /usr/include/mysql/my_config.h:422:0: aviso: se redefinió "HAVE_WCSCOLL" [activado por defecto] /usr/include/python2.7/pyconfig.h:890:0: nota: esta es la ubicación de la definición previa gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so Successfully installed mysql-python Cleaning up...
下面在Ubuntu 12.04 LTS上為我工作:
apt-get install libmysqlclient-dev python-dev
盡pipe它工作,我仍然繼續做下面的事情:
export PATH=$PATH:/usr/local/mysql/bin/
我試圖安裝mysql-python時遇到同樣的錯誤。
這是我如何解決它。
sudo PATH=/usr/local/mysql/bin/:$PATH pip install mysql-python
問題是安裝程序在默認path中找不到mysql_config。 現在它可以..和它的工作..
15 warnings generated. clang -bundle -undefined dynamic_lookup -Wl,-F. build/temp.macosx-10.8-intel-2.7/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.8-intel-2.7/_mysql.so -arch x86_64 Successfully installed mysql-python Cleaning up...
希望這可以幫助。
謝謝。
在紅帽我不得不這樣做
sudo yum install mysql-devel gcc gcc-devel python-devel sudo easy_install mysql-python
然后它的工作。
我通過以下步驟解決了這個問題:
sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev sudo python setup.py install
命令(mysql也)mPATH可能會丟失。
export PATH=$PATH:/usr/local/mysql/bin/
我通過安裝libmysqlclient來解決它:
sudo apt-get install libmysqlclient16-dev
MySQL-python軟件包使用mysql_config命令來了解主機上的mysqlconfiguration。 您的主機沒有mysql_config命令。
dev.mysql.com中的MySQL開發庫軟件包(MySQL-devel-xxx)提供了這個命令和MySQL-python軟件包所需的庫。 MySQL-devel軟件包位于下載社區服務器區域。 MySQL開發庫包名稱以MySQL-devel開頭,并根據MySQL版本和Linux平臺(例如,MySQL-devel-5.5.24-1.linux2.6.x86_64.rpm)而變化。
請注意,您不需要安裝mysql服務器。
我認為,下面的行可以在terminal上執行
sudo ln -s /usr/local/zend/mysql/bin/mysql_config /usr/sbin/
這個mysql_config目錄是MacOSx上的zend服務器。 你可以像下面幾行那樣對linux進行操作
sudo ln -s /usr/local/mysql/bin/mysql_config /usr/sbin/
這是默認的linux mysql目錄。
您需要安裝python-dev軟件包:
sudo apt-get install python-dev
對于Alpine Linux:
$ apk add mariadb-dev mariadb-client mariadb-libs
MariaDB是MySQL的替代品 ,成為Alpine 3.2的新標準。 請參閱https://bugs.alpinelinux.org/issues/4264
此方法僅適用于知道Mysql已安裝,但仍無法findmysql_config的用戶。 如果python安裝在你的系統path中找不到mysql_config,這種情況就會發生,如果你已經通過.dmg Mac Package安裝完成安裝,或者安裝在某個自定義path中,這種情況通常會發生。 MySqlDB最簡單和有說明的方法是更改site.cfg 。 find可能位于/ usr / local / mysql / bin /中的 mysql_config ,并像下面那樣更改variables,即mysql_config ,然后再次運行安裝。 不要忘記取消注釋“#”
更改下面的行
“#mysql_config = / usr / local / bin / mysql_config”
至
“mysql_config = / usr / local / mysql / bin / mysql_config”
取決于系統中的path。
順便說一下,我改變site.cfg后使用python安裝
sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
我有這個問題,并解決如果通過添加一個符號鏈接到mysql_config 。
我用自制軟件安裝了mysql,在輸出中看到了這個。
Error: The `brew link` step did not complete successfully
取決于你如何得到mysql它將在不同的地方。 在我的情況下/usr/local/Cellar/mysql
一旦你知道它在哪里,你應該能夠一個符號鏈接到python正在尋找它的地方。 /usr/local/mysql
這對我有效。
ln -s /usr/local/Cellar/mysql/<< VERSION >>/bin/mysql_config /usr/local/mysql/bin/mysql_config
sudo apt-get install python-mysqldb
Python 2.5? 聽起來就像你使用的是一個非常老的Ubuntu服務器版本(Hardy 8.04?) – 請確認服務器使用哪個Linux版本。
在Ubuntu的包數據庫上searchpython-mysql
一些額外的信息:
從mysql-python的自述文件 –
Red Hat Linux ………….
MySQL-python預先打包在Red Hat Linux 7.x和更新的版本中。 這包括Fedora Core和Red Hat Enterprise Linux。 您也可以按照上面所述構build自己的RPM包。
Debian GNU / Linux …………….
打包為python-mysqldb _ ::
# apt-get install python-mysqldb
或者使用Synaptic。
.. _ python-mysqldb : http : python-mysqldb
Ubuntu ……
和Debian一樣。
腳注:如果你確實使用的是Ubuntu 10.04之前的服務器版本,那么你已經沒有官方的支持,應該盡快升級。
我遇到了同樣的問題,只是將* mysql_config *所在的path添加到環境variablesPATH中,并且對我有用。
sudo apt-get build-dep python-mysqldb將安裝所有的依賴從PIP / easy_install生成包
由于實際的錯誤是
gcc ... -I/usr/include/python2.7 ... _mysql.c:29:20: error: Python.h: No such file or directory
只需input:
$ sudo apt-get install python-dev $ venv/bin/pip install MySQL-python
這將解決這個問題。
在我的Fedora 23機器上,我必須運行以下命令:
sudo dnf install mysql-devel
sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev sudo apt-get install MySQL-python
注意你也應該安裝python-dev,像MySQL-python這樣的軟件包是從源代碼編譯的。 pythonx.x-dev軟件包包含了用于鏈接到python的必要頭文件。 為什么在Kubuntu 12.04中安裝numpy需要python-dev