首先,是的,我已经看过了:
pip install mysql-python fails with EnvironmentError: mysql_config not found
问题
我正在尝试在Google App Engine项目中使用Django。但是,由于以下原因导致服务器无法正常启动,因此无法启动:
ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
我做了一些研究,并且都指出必须安装Mysql-python,因为显然它不在我的系统上。我实际上尝试卸载它并得到了这个:
Cannot uninstall requirement mysql-python, not installed
每当我确实尝试通过以下方式安装时:
sudo pip install MySQL-python
我收到错误声明:
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
我已经尝试过跑步了:
export PATH=$PATH:/usr/local/mysql/bin
但这似乎没有帮助,因为我再次运行安装命令但仍然失败。
有什么想法吗?
请注意我不是一个虚拟的人。
答案 0 :(得分:285)
好的,首先,让我检查一下你和我在同一页面上:
brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip install MySQL-Python
(或pip3 install mysqlclient
如果使用python 3)如果您按相同顺序执行了所有这些步骤,但仍然出现错误,请继续阅读,但是,如果您没有按照这些确切的步骤进行尝试,请从一开始就按照这些步骤进行操作。
所以,你按照这些步骤进行操作,但仍然存在错误,嗯,你可以尝试一些事情:
尝试从bash运行which mysql_config
。它可能不会被发现。这就是为什么构建也找不到它。尝试运行locate mysql_config
并查看是否有任何回复。这个二进制文件的路径需要在shell的$ PATH环境变量中,或者它需要在模块的setup.py文件中显式,假设它正在查找该文件的某个特定位置。
尝试使用'mysql-connector-python'而不是使用MySQL-Python,可以使用pip install mysql-connector-python
进行安装。有关详情,请访问here和here。
手动找到'mysql / bin','mysql_config'和'MySQL-Python'的位置,并将所有这些添加到$ PATH环境变量中。
如果以上所有步骤都失败了,那么你可以尝试使用MacPorts安装'mysql',在这种情况下,文件'mysql_config'实际上会被称为'mysql_config5',在这种情况下,你必须这样做安装后:export PATH=$PATH:/opt/local/lib/mysql5/bin
。您可以找到更多详细信息here。
注意1:我看到有些人说安装python-dev
和libmysqlclient-dev
也有帮助,但我不知道这些软件包是否可以在Mac OS上使用。
注意2:另外,请确保尝试以root身份运行命令。
我从(除了我的大脑)这些地方得到了答案(也许你可以查看它们,看它是否会有所帮助):1,2,3 ,4。
我希望我能帮忙,并且很高兴知道这些是否有效。祝你好运。
答案 1 :(得分:5)
我一直在调试此问题-3小时17分钟。令我特别烦恼的是,我已经通过先前的uni工作在系统上安装了sql,但pip / pip3无法识别它。这些线程以及我在互联网上搜索过的许多其他线程有助于解决问题,但实际上并没有解决问题。
答案
Pip在相对于 Macintosh HD @
的Homebrew目录中寻找mysql二进制文件。usr/local/Cellar/
所以我发现这需要您进行一些更改
第1步:如果尚未下载MySql,https://dev.mysql.com/downloads/
第2步:相对于 Macintosh HD 和cd
找到它usr/local/mysql/bin
第3步:一旦打开终端并使用所选的文本编辑器-我本人是个Neovim家伙,所以我打了打字(Mac并不会自动附带……另一天的故事)
nvim mysql_config
第4步:您将在第112行看到
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
更改为
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
*您会注意到此文件具有只读访问权限,因此,如果您使用vim或neovim
:w !sudo tee %
步骤5:转到根目录并编辑.bash_profile文件
cd ~
然后
nvim .bash_profile
并添加
export PATH="/usr/local/mysql/bin:$PATH"
保存到文件然后保存
第6步:相对于 Macintosh HD ,找到路径并将其添加到其中
cd private/etc/
然后
nvim paths
并添加
/usr/local/mysql/bin
*您会再次注意到此文件具有只读访问权限,因此,如果您使用vim或neovim
:w !sudo tee %
然后
cd ~
然后通过运行
用您的更改刷新终端source .bash_profile
最后
pip3 install mysqlclient
还有中提琴。记住这是一种氛围。
答案 2 :(得分:2)
当我安装mysqlclient时,会发生这种情况,
$ pip install mysqlclient
正如用户3429036所说,
$ brew install mysql
答案 3 :(得分:2)
我在MacOS Catalina上运行Python 3.6。我的问题是我尝试安装mysqlclient==1.4.2.post1
,但它不断抛出mysql_config not found错误。
这是我解决问题的步骤。
brew unlink mysql
先取消链接)-brew install mysql-connector-c
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
brew info openssl
-这将为您提供有关将openssl放入PATH所需要做的更多信息echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
答案 4 :(得分:1)
此答案适用于不是从brew
安装,而是从官方.dmg/.pkg
安装的MacOS用户。该安装程序无法编辑您的PATH
,从而使事情无法使用:
mysql
,mysqladmin
,mysql_config
等,因此:mysqlclient
您需要做的是通过在bin
文件中添加以下行,将MySQL /usr/local/mysql/bin
文件夹(通常为PATH
中的~/.bash_profile
添加到您的export PATH="/usr/local/mysql/bin/:$PATH"
文件中:
~/.bash_profile
然后您应该重新加载source ~/.bash_profile
,以使更改在当前的终端会话中生效:
mysqlclient
但是,在安装sudo xcodebuild -license
之前,您需要接受XcodeBuild许可证:
mysqlclient
按照他们的指示注销您的家人,之后您应该可以安装pip install mysqlclient
,而不会出现问题:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
安装后,您必须通过将以下行添加到系统动态库路径中,来做另一件事来修复MySQL(Dynamic Library libmysqlclient.dylib
not found)附带的运行时错误:
rewire
答案 5 :(得分:0)
如果您不想安装完整的mysql,我们可以通过安装mysqlclient来解决。
brew install mysqlclient
cmd完成后,将要求将以下行添加到~/.bash_profile
:
echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
关闭终端并启动新终端,然后继续进行pip install mysqlclient
答案 6 :(得分:0)
只需确保命令mysql_config
在您的路径中即可。
答案 7 :(得分:0)
如果您使用 Homebrew 通过指定版本安装了mysql,则 mysql_config 会出现在此处。 - /usr/local/Cellar/mysql@5.6/5.6.47/bin
您可以在 / usr / local / 目录中使用ls命令找到sql bin的路径
/usr/local/Cellar/mysql@5.6/5.6.47/bin
将路径添加到bash配置文件中,如下所示。
nano ~/.bash_profile
export PATH="/usr/local/Cellar/mysql@5.6/5.6.47/bin:$PATH"
答案 8 :(得分:0)
在我的情况下,问题是我在python虚拟环境中运行命令,尽管我已将其放置在 / usr / local / mysql / bin 中,但没有路径.bash_profile文件。只是在虚拟环境中导出路径对我有用。
对于您的信息,sql_config位于bin目录中。
答案 9 :(得分:0)
brew install mysql
将mysql添加到/usr/local/Cellar/...
,所以我需要将:/usr/local/Cellar/
添加到我的$PATH
中,然后which mysql_config
才能正常工作!
答案 10 :(得分:-1)
安装brew或apt-get对我来说也不容易,所以我通过以下方式下载了mysql:https://dev.mysql.com/downloads/connector/python/,安装了它。所以我可以在这个目录中找到mysql_config:/ usr / local / mysql / bin
下一步是: