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

时间:2018-06-18 21:55:12

标签: python mysql

我是使用virtualenv的新手,我在使用virtualenv安装MySQLdb时遇到了麻烦。

我目前正在使用Python 2.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

当我在普通计算机上编码时,我第一次看到这个错误(Mac 10.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 

2 个答案:

答案 0 :(得分:0)

试试这个:

  1. brew uninstall mysql-connector-c
  2. brew install mysql
  3. 调用" mysql_config --libs"并确认其输出包括正确的库选项:" -L / usr / local / Cellar / mysql / 5.7.20 / lib -lmysqlclient -lssl -lcrypto"
  4. 导出LDFLAGS = -L / usr / local / opt / openssl / lib&& pip install mysqlclient
  5. 我希望这会有所帮助

答案 1 :(得分:0)

other question中的答案解决了该问题,以下是我用来使其工作的命令。

export DYLD_FALLBACK_LIBRARY_PATH=/anaconda2/lib/:$DYLD_FALLBACK_LIBRARY_PATH

不过,有一些注释...

  • 我必须在虚拟环境中而不是全局环境中运行此命令
  • 有人告诉我这是Anaconda管理我的软件包和我的虚拟环境变量无法找到正确路径的问题
  • 您会注意到我的文件夹是“〜/ anaconda2 / ...”,请检查您的lib文件在全局环境中的安装位置,并确保相应地调整目录名称
  • 还建议我将此命令保留在虚拟环境的初始化文件中,这样,只要我的虚拟环境加载,该命令就已经执行了