pip install MySQL-python,命令“python setup.py egg_info”失败,错误代码为1

问题描述 投票:1回答:2

MacOS | Python 2.7

我想使用MySQLdb。我跑的时候

pip install MySQL-python

结果是

JourneydeMacBook-Pro:~ JourneyWoo$ pip install MySQL-python
Collecting MySQL-python
  Using cached 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/g9/y4rms8zx6yvjjn1m1w6w0000gn/T/pip-build-JFpAwP/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

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/g9/y4rms8zx6yvjjn1m1w6w0000gn/T/pip-build-JFpAwP/MySQL-python/

我想我的点子有问题,所以我跑了

pip install --upgrade setuptools
pip install ez_setup
pip install unroll

他们都运作良好,但当我再试一次

pip install MySQL-python

它仍然有问题。

我没有得到可以解决我的问题和答案的答案来自谷歌搜索,非常感谢你,如果你可以帮我这个。

python mysql python-2.7 pip mysql-python
2个回答
0
投票

对于linux用户

首先安装python3-dev by;

laptop$sudo apt-get install python3-dev # debian / Ubuntu
laptop$sudo yum install python3-devel # Red Hat / CentOS
laptop$sudo apt-get install mysqlclient

如果您以前在虚拟环境中安装卸载它,它也将删除MYSQLdb,在我的情况下,它是所有问题的根源。然后重新安装;

   (venv)laptop:~/Desktop/app/$ pip uninstall mysqlclient
    Uninstalling mysqlclient-1.3.13:
     Would remove:
    /usr/local/lib/python3.7/site-packages/MySQLdb/*
    /usr/local/lib/python3.7/site-packages/_mysql.cpython-37m-x86_64-linux-gnu.so
    /usr/local/lib/python3.7/site-packages/_mysql_exceptions.py
    /usr/local/lib/python3.7/site-packages/mysqlclient-1.3.13-py3.7.egg-info   
   Proceed (y/n)? y
   (venv)laptop:~/Desktop/app/$ pip install mysqlclient

更多细节here


0
投票

sudo apt-get install python-dev default-libmysqlclient-dev#Debian / Ubuntu运行这解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.