我已经尝试了几天来解决这个问题,看看其他问题,但是我找不到与我得到的同样错误的问题。
我一直在尝试按照本教程https://realpython.com/learn/start-django/进行操作,并提到这一点:
数据库设置 首先,安装MySQL-python,它是Python的数据库连接器:
(env) Camerons-MacBook-Pro:django15_project camrail$ pip install MySQL-python
Collecting MySQL-python
Using cached MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "/private/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/private/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/setup_posix.py", line 25, 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 in /private/var/folders/3v/czm4shrx0yg5jts39qktf6t00000gn/T/pip-build-2rNsQQ/MySQL-python/
(env) Camerons-MacBook-Pro:django15_project camrail$
一切都运行良好,但是当我尝试安装MySQL-python时,我收到以下错误:
xcode-select --install
我发现这个答案https://opensourcehacker.com/2011/03/02/installing-mysql-python-connector-on-osx/表示MySQL实用程序不可用,所以我按照他们的建议修复它但无济于事。我也尝试过安装开发人员工具ez_setup
,正如一些人所建议的那样。我尝试重新安装SqlCommand
。
不确定从哪里开始,任何帮助都非常感激。
答案 0 :(得分:12)
在我看来,系统中缺少mysql_config,或者安装程序找不到它。请确保确实安装了mysql_config。
例如,
在Debian / Ubuntu上,您必须安装软件包: sudo apt-get install libmysqlclient-dev
运行Mac OSX Mountain Lion,我只是在终端中运行它来修复: export PATH = $ PATH:/ usr / local / mysql / bin
这是我找到的最快的修复方法。
答案 1 :(得分:2)
我在使用pip安装mysql包时也遇到了同样的错误但是在安装了libmysqlclient-dev之后
现在它对我有用..
验证
导入mysql
答案 2 :(得分:1)
使用以下方法检查您的mysql配置文件:
mysql_config
Usage: /usr/bin/mysql_config [OPTIONS]
Compiler: GNU 6.3.0
Options:
--cflags [-I/usr/include/mysql ]
--cxxflags [-I/usr/include/mysql ]
--include [-I/usr/include/mysql]
--libs [-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -latomic -ldl]
--libs_r [-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -latomic -ldl]
--plugindir [/usr/lib/mysql/plugin]
--socket [/var/run/mysqld/mysqld.sock]
--port [0]
--version [5.7.18]
--libmysqld-libs [-L/usr/lib/x86_64-linux-gnu -lmysqld -lpthread -lz -lm -lrt -latomic -lcrypt -ldl -laio -llz4 -lnuma]
--variable=VAR VAR is one of:
pkgincludedir [/usr/include/mysql]
pkglibdir [/usr/lib/x86_64-linux-gnu]
plugindir [/usr/lib/mysql/plugin]
Ideally it should contain libmysqld-libs option. If it is not there, as it was not there in my case, you can assume that your mysql is broken.
现在你应该得到这样的输出:
Resource
id
title
description
tags
在这种情况下,您可以直接将此配置写入配置文件
答案 3 :(得分:1)
如果您使用Windows OS
直接从here下载并安装mysql-python
。
答案 4 :(得分:0)
不确定它是否有用。但它帮助我解决了这个问题。
apt-get install build-essential zlib1g zlib1g-dev zlibc libxml2 libxml2-dev
答案 5 :(得分:0)
我运行以下命令,它在Ubuntu 17.10中运行顺利
sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient
答案 6 :(得分:-1)
为了完整起见,在Debian Stretch上,pkg现在称为 default-libmysqlclient-dev 。
sudo apt-get install default-libmysqlclient-dev