无法在virtualenv(Mac 10.13)上安装MySQLdb

2024-03-29 10:12:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始使用virtualenv,在virtualenv上安装MySQLdb时遇到了问题。你知道吗

我目前正在使用Python2.7,下面是我当前的virtualenv的样子

click==6.7
Flask==1.0.2
Flask-SQLAlchemy==2.3.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
MySQL-python==1.2.5
mysqlclient==1.3.12
SQLAlchemy==1.2.8
Werkzeug==0.14.1

我第一次看到这个错误是在我的普通机器(mac10.13)上编写代码时,当我最初尝试安装MySQLdb时,我遇到了这个错误。你知道吗

Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-install-rxnRuR/MySQL-python/

我可以通过使用this question中的第二个解决方案来修复它

然而,当我启动我的虚拟环境并尝试安装MySQLdb时,我得到了与上面相同的错误代码,但是我没有最初找到的解决方案中提供的相同目录。你知道吗

我试着把以下问题的解决方案拼凑起来,看看是否有在virtualenv中安装MySQLdb的解决方案 Link1Link2Link3,但它们似乎都不起作用

我希望有人能解释一下发生了什么,这样我就可以在虚拟环境中使用MySQLdb了。你知道吗

尝试的命令:

sudo pip install --upgrade setuptools
brew install mysql
brew install mysql-python

brew uninstall mysql
brew install mysql-connector-c
brew unlink mysql-connector-c
brew install mysql
pip install mysql-python

更新:这似乎是一个已知的问题,在Github thread中,我最终使用找到的解决方案here解决了上面的错误代码,但是现在当我启动Python并尝试导入MySQLdb时,我得到了以下错误代码

Reason: image not found 

Tags: installpipflaskconnectorvirtualenvsqlalchemy错误虚拟环境
2条回答

试试这个:

  1. brew卸载mysql-connector-c
  2. brew安装mysql
  3. 调用“mysql\u config libs”并确认其输出包含正确的库选项:“-L/usr/local/Cellar/mysql/5.7.20/lib-lmysqlclient-lssl-lcrypto”
  4. 导出LDFLAGS=-L/usr/local/opt/openssl/lib&;pip安装mysqlclient

我希望这有帮助

这个other question中的答案解决了这个问题,下面是我用来使它工作的命令。你知道吗

export DYLD_FALLBACK_LIBRARY_PATH=/anaconda2/lib/:$DYLD_FALLBACK_LIBRARY_PATH

不过,有几个注意事项。。。你知道吗

  • 我必须在我的虚拟环境中运行这个命令,它才能工作,而不是在我的全局环境中
  • 我被告知这是一个问题与Anaconda管理我的包和我的虚拟环境变量无法找到正确的路径
  • 您会注意到我的文件夹是“~/anaconda2/…”,请检查lib文件在全局环境中的安装位置,并确保相应地调整目录名
  • 还有人建议我把这个命令保存在虚拟环境的初始化文件中,这样每当我的虚拟环境加载时,这个命令就已经执行了

相关问题 更多 >