尝试“pip install mysqlclient”时出现“OSError:mysql_config not found” - Django
Posted
技术标签:
【中文标题】尝试“pip install mysqlclient”时出现“OSError:mysql_config not found” - Django【英文标题】:"OSError: mysql_config not found" when trying to "pip install mysqlclient" - Django 【发布时间】:2018-05-31 22:10:11 【问题描述】:我对 Django 和一般的 Web 开发比较陌生。
我正在尝试
pip install mysqlclient
在我的
virtualenv -p python3
将 Django 2.0 连接到 mySQL。但是,我收到了这个错误:
Collecting mysqlclient
Using cached mysqlclient-1.3.12.tar.gz
Complete output from command python setup.py egg_info:
/bin/sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup.py", line 17, in <module>
metadata, options = get_config()
File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup_posix.py", line 44, in get_config
libs = mysql_config("libs_r")
File "/private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/setup_posix.py", line 26, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
OSError: mysql_config not found
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/43/md5vpqrx0mx8627sq04slbz00000gn/T/pip-build-l8ea3vja/mysqlclient/
我已经四处寻找答案几个小时了,是的,我已经检查了 this 和 this,但似乎没有任何效果。
任何帮助将不胜感激!
【问题讨论】:
您已链接到其他问题,但您尚未说明您使用的是哪个操作系统,或者您运行建议的命令时发生了什么。 @Alasdair 我正在运行 MacOS High Sierra(版本 10.13.1)。当我运行时:'sudo apt-get install python-dev python3-dev' 我得到:'sudo: apt-get: command not found' 例如apt-get
是一些 Linux 发行版(如 Ubuntu 和 Debian)使用的包管理器。在 MacOS 上运行这些命令没有意义。
Unable to install mysqlclient using pip3 on MacOS sierra的可能重复
我检查了上面声称重复的线程,当我运行“brew install mysql-connector-c”时,我收到错误:“-bash: brew: command not found”
【参考方案1】:
python包“mysqlclient”是依赖C系统库来驱动mysql连接的,如果你是ubuntu 16.4,如下:
sudo apt-get install libmysqlclient-dev
sudo pip install mysqlclient
【讨论】:
MySQLdb 是一个 C 扩展,因此依赖于 C 语言库。您可以只使用 pymysql 而不是 MySQLdb,只需执行以下命令:sudo pip install pymysql【参考方案2】:您应该从克隆 mysqlclient 存储库开始:
git clone https://github.com/PyMySQL/mysqlclient-python
那么你必须得到mysql-connector-c
。您可以通过以下方式获得它:
brew install mysql-connector-c
然后在文本编辑器中打开/usr/local/bin/mysql_config
。
来自 Github issue:
mysql_config 中有如下几行:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
应该是:
#Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
保存该文件并更改回您下载 repo 的目录。现在打开site.cfg
文件。
取消注释该行(删除#)
#mysql_config = /usr/local/bin/mysql_config
保存并运行:
python3 setup.py install
【讨论】:
谢谢。当我运行:'brew install mysql-connector-c'时,我收到错误:'-bash: brew: command not found' 嗨 Pranjal,好的,我已经下载了 Homebrew,成功运行 'brew install mysql-connector-c',在我的文本编辑器中成功打开了 '/usr/local/bin/mysql_config',但是现在我不确定如何将文件编辑为: libs="-L$pkglibdir" libs="$libs -lmysqlclient -lssl -lcrypto" 任何帮助将不胜感激【参考方案3】:对于 CentOS,这就是它对我有用的原因:
yum install gcc mysql-devel openssl-devel
#Install library explicitly, otherwise the python3 setup.py install will fail
pip3 install "mysqlclient==2.0.3" --global-option=build_ext --global-option="-L/usr/lib64/mysql/"
【讨论】:
【参考方案4】:如果在 macOS 中安装 mysqlclient
Python 包时收到 OSError: mysql_config not found
,那么只需执行以下操作:
brew install mysql-client
export PATH="/usr/local/opt/mysql-client/bin:$PATH"
然后重试。
【讨论】:
以上是关于尝试“pip install mysqlclient”时出现“OSError:mysql_config not found” - Django的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 Swift 的“尝试”?导致“尝试的结果?未使用”? [复制]
我正在尝试从 pyspark 访问 mysql 表。我正在尝试使用: