可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
This is the error I get
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
Running setup.py egg_info for package mysql-python
sh: mysql_config: not found
Traceback (most recent call last):
File \"<string>\", line 14, in <module>
File \"/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py\", line 15, in <module>
metadata, options = get_config()
File \"setup_posix.py\", line 43, in get_config
libs = mysql_config(\"libs_r\")
File \"setup_posix.py\", line 24, in mysql_config
raise EnvironmentError(\"%s not found\" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Complete output from command python setup.py egg_info:
sh: mysql_config: not found
Traceback (most recent call last):
File \"<string>\", line 14, in <module>
File \"/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py\", line 15, in <module>
metadata, options = get_config()
File \"setup_posix.py\", line 43, in get_config
libs = mysql_config(\"libs_r\")
File \"setup_posix.py\", line 24, in mysql_config
raise EnvironmentError(\"%s not found\" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
Running setup.py egg_info for package mysql-python
sh: mysql_config: not found
Traceback (most recent call last):
File \"<string>\", line 14, in <module>
File \"/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py\", line 15, in <module>
metadata, options = get_config()
File \"setup_posix.py\", line 43, in get_config
libs = mysql_config(\"libs_r\")
File \"setup_posix.py\", line 24, in mysql_config
raise EnvironmentError(\"%s not found\" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Complete output from command python setup.py egg_info:
sh: mysql_config: not found
Traceback (most recent call last):
File \"<string>\", line 14, in <module>
File \"/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py\", line 15, in <module>
metadata, options = get_config()
File \"setup_posix.py\", line 43, in get_config
libs = mysql_config(\"libs_r\")
File \"setup_posix.py\", line 24, in mysql_config
raise EnvironmentError(\"%s not found\" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
What can I do to resolve this?
回答1:
It seems mysql_config is missing on your system or the installer could not find it.
Be sure mysql_config is really installed.
For example on Debian/Ubuntu you must install the package:
sudo apt-get install libmysqlclient-dev
Maybe the mysql_config is not in your path, it will be the case when you compile by yourself
the mysql suite.
Update: For recent versions of debian/ubuntu (as of 2018) it is
sudo apt install default-libmysqlclient-dev
回答2:
Running Mac OSX Mountain Lion, I simply ran this in terminal to fix:
export PATH=$PATH:/usr/local/mysql/bin
This is the quickest fix I found - it adds it to the path, but I think you\'re better off adding it permanently (ie add it to /etc/paths
) if you plan to install MySQL-python in another environment.
回答3:
apt-get install libmysqlclient-dev python-dev
Seemed to do the trick.
回答4:
There maybe various answers for the above issue, below is a aggregated solution.
For Ubuntu:
$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb
For CentOS:
$ yum install python-devel mysql-devel
回答5:
You can use the MySQL Connector/Python
Installation via PyPip
pip install mysql-connector-python
Further information can be found on the MySQL Connector/Python 1.0.5 beta announcement blog.
On Launchpad there\'s a good example of how to add-, edit- or remove data with the library.
回答6:
For centos users:
yum install -y mysql-devel python-devel python-setuptools
then
pip install MySQL-python
If this solution doesn\'t work, and print gcc compile error like:
_mysql.c:29:20: error: Python.h: No such file or directory
You need to specify the path of Python.h
, like this:
pip install --global-option=build_ext --global-option=\"-I/usr/include/python2.6\" MySQL-python
回答7:
If you are on MAC
Install this globally
brew install mysql
then export path like this
export PATH=$PATH:/usr/local/mysql/bin
lastly globally or in your venv
pip install MySQL-Python
回答8:
I was trying to install mysql-python
on an Amazon EC2 Linux instance and I had to install these :
yum install mysql mysql-devel mysql-common mysql-libs gcc
But then I got this error :
_mysql.c:29:20: fatal error: Python.h: No such file or directory
So I installed :
yum install python-devel
And that did the trick.
回答9:
OSX Mavericks
Due to changes within osx mavericks & xcode development tools you may get the error on installation
clang: error: unknown argument: \'-mno-fused-madd\' [-Wunused-command-line-argument-hard-error-in-future]
therefore use :
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python
回答10:
For anyone that is using MariaDB instead of MySQL, the solution is to install the libmariadbclient-dev
package and create a symbolic link to the config file with the correct name.
For example this worked for me:
ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
回答11:
Try sudo apt-get build-dep python-mysqldb
回答12:
for mariadb install libmariadbclient-dev instead of libmysqlclient-dev
sudo apt-get install libmariadbclient-dev
回答13:
sometimes the error depends on the actual cause. we had a case where mysql-python was installed through the python-mysqldb debian package.
a developer who didn\'t know this, accidentally ran pip uninstall mysql-python
and then failed to recover with pip install mysql-python
giving the above error.
pip uninstall mysql-python
had destroyed the debian package contents, and of course pip install mysql-python
failed because the debian package didn\'t need any dev files.
the correct solution in that case was apt-get install --reinstall python-mysqldb
which restored mysql-python to its original state.
回答14:
You should install the mysql
first:
yum install python-devel mysql-community-devel -y
Then you can install mysqlclient
:
pip install mysqlclient
回答15:
Had a similar issue trying to install on OS X Server 10.6.8. Here\'s what I had to do.
Using:
MySQL-python 1.2.4b4 (source)
MySQL-5.6.19 (binary installer)
Python 2.7 (binary installer)
NOTE: Installing in virtualenv...
Unzip source, open \'distribute_setup.py\' and edit DEFAULT_VERSION to use the latest version of distribute tools, like so:
DEFAULT_VERSION = \"0.6.49\"
Save. Open \'site.cfg\' file and uncomment the path to mysql_config so it looks something like (reference your own path to mysql_config):
# 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/mysql/bin/mysql_config
Now clean, build and make will not fail with the \'mysql_config\' not found error.
Hope this helps someone else trying to make use of their old xserves :-)
回答16:
Your sudo path does not know about your local path... go into superuser mode, add the path, and install it from there.
sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit
And you\'re up and running on OSX. Now you have an updated global python.
回答17:
if you install MySQL-python in your virtual env, you should check the pip version, if the version is older than 9.0.1, please update it
pip install --upgrade pip
回答18:
I had the same problem in the Terraform:light container. It is based on Alpine.
There you have to install mariadb-dev with:
apk add mariadb-dev
But that one is not enough because also all the other dependencies are missed:
apk add python2 py2-pip gcc python2-dev musl-dev