python setup.py egg_info mysqlclient

新手上路,请多包涵

尝试在 Python 3.6.0 上使用 pip3 安装 mysqlclient

 $ pip3 install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-1.3.10.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/3k/08g3yx_12kg99kyfs989md600000gn/T/pip-build-1qv_89jc/mysqlclient/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/private/var/folders/3k/08g3yx_12kg99kyfs989md600000gn/T/pip-build-1qv_89jc/mysqlclient/setup_posix.py", line 54, in get_config
        libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
      File "/private/var/folders/3k/08g3yx_12kg99kyfs989md600000gn/T/pip-build-1qv_89jc/mysqlclient/setup_posix.py", line 54, in <listcomp>
        libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
      File "/private/var/folders/3k/08g3yx_12kg99kyfs989md600000gn/T/pip-build-1qv_89jc/mysqlclient/setup_posix.py", line 12, in dequote
        if s[0] in "\"'" and s[0] == s[-1]:
    IndexError: string index out of range

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/3k/08g3yx_12kg99kyfs989md600000gn/T/pip-build-1qv_89jc/mysqlclient/

已经做了

brew install mysql-connector-c

但仍然收到此错误

原文由 Denis Ostrovsky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 818
2 个回答

这对我有用:

  1. brew install mysql-connector-c

  2. 编辑 mysql_config (找到它: which mysql_config

在 mysql_config 中更正此问题:

 # Create options
libs="-L$pkglibdir"
libs="$libs -l "

它应该是:

 # Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

  1. brew info openssl
  2. 最后 pip3 install mysqlclient

原文由 kvasnicaj 发布,翻译遵循 CC BY-SA 3.0 许可协议

我首先解决了安装 libmysqlclient-dev 的问题:

 sudo apt-get install libmysqlclient-dev

希望对你有效。

原文由 yosbel 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题