[英]Mac pip install mysql-python unsuccessful
我从网站安装了 MySQL 和 Workbench。 我有一个 django 项目,其requirements.txt:
Django==1.11.12
djangorestframework==3.8.2
django-cors-headers==2.2.0
drfdocs==0.0.11
mysql-python==1.2.5
django-rest-auth==0.9.3
django-allauth==0.35.0
nltk==3.2.5
django-extensions==2.0.7
pyparsing==2.2.0
pydot==1.2.4
当我跑
pip install -r requirements.txt
我收到错误mysql_config not found
。 为了解决这个问题,我跑了
PATH=$PATH:/usr/local/mysql/bin
它现在抛出
_mysql.c:44:10: fatal error: 'my_config.h' file not found
#include "my_config.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'cc' failed with exit status 1
----------------------------------------
Command ""/Users/nitish/gitProjects/Vision Backlog/vb_env/bin/python" -u -c "import setuptools, tokenize;__file__='/private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-install-M4ue9E/mysql-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-record-7OCzf1/install-record.txt --single-version-externally-managed --compile --install-headers "/Users/nitish/gitProjects/Vision Backlog/vb_env/include/site/python2.7/mysql-python"" failed with error code 1 in /private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-install-M4ue9E/mysql-python/
为什么会这样?
更新:下面的解决方案抛出:
Collecting MySQL-python
Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-install-X6b4rU/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 53, in get_config
libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]
File "setup_posix.py", line 8, in dequote
if s[0] in "\"'" and s[0] == s[-1]:
IndexError: string index out of range
安装旧版本的 MySQL 对我有用:
brew remove mysql
brew install mysql@5.7
brew link --force mysql@5.7
pip install mysql-python
看:
请尝试:
CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install -r requirements.txt
如果不行:先安装mysql-connector-c
brew install mysql-connector-c
pip install MySQL-python
如果您使用的是 Windows:
https://dev.mysql.com/downloads/connector/c/
您还可以检查尝试使用pip3.
安装时发生了pip3.
更新:如果你有 Linux:请打开/usr/local/bin/mysql_config
。
进而:
#Create options
Libs = "-L $ pkglibdir "
Libs = " $ libs -l"
用。。。来代替:
#Create options
Libs = "- L $ pkglibdir"
Libs = "$ libs -lmysqlclient -lssl -lcrypto"
保存并重新安装mysql-python
。
pip uninstall mysql-python
pip install mysql-python
对于 Mac:
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
应该有帮助。
brew install mysql@5.7
export PATH="/usr/local/Cellar/mysql@5.7/5.7.29/bin:$PATH"
export LDFLAGS="-L/usr/local/Cellar/mysql@5.7/5.7.29/lib -L/usr/local/Cellar/openssl@1.1/1.1.1d/lib"
export CPPFLAGS="-I/usr/local/Cellar/mysql@5.7/5.7.29/include -I/usr/local/Cellar/openssl@1.1/1.1.1d/include"
/Users/tivanli/source/bk_project/pizza/venv/bin/pip install MySQL-python==1.2.5
对我来说是:
brew install mysql-connector-c
pip install MySQL-python
pip install mysql-connector
即使在安装了所有必需的软件包后,那些在Ubuntu上仍面临此问题的人。 他们可以按照这个
https://dev.mysql.com/doc/dev/mysql-server/8.0.11/my__config_8h_source.html
然后在/usr/include/my_config.h中创建一个文件并粘贴
sudo nano /usr/include/my_config.h
您可以使用 ctrl + shift + v 粘贴内容,具体取决于您的发行版。
现在安装软件包,您的版本或没有版本。
pip install mysqlclient==1.3.7
您可以根据 SQL 版本从官方链接获取文件源。
原始链接- http://www.kombitz.com/2020/04/29/my_config-h-no-such-file-or-directory-on-centos-8/
只需卸载您的 Mysql,然后安装 MySql 5.7 即可修复!!!
如果您通过上述任何解决方案都没有成功,则意味着您的 MySql 版本不符合要求。 我在想这是因为 Python 或 PyCharm,我使用了 virtualenv 和 conda 但没有运气,所以当我将我的依赖项与我朋友的一台计算机进行比较时,它是 MySql 版本。 降级到 5.7 并且工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.