我试图pip安装MySQL-python包,但我得到一个ImportError。

Jans-MacBook-Pro:~ jan$ /Library/Frameworks/Python.framework/Versions/3.3/bin/pip-3.3 install MySQL-python
Downloading/unpacking MySQL-python
  Running setup.py egg_info for package MySQL-python
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
        from setup_posix import get_config
      File "./setup_posix.py", line 2, in <module>
        from ConfigParser import SafeConfigParser
    ImportError: No module named 'ConfigParser'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>

    from setup_posix import get_config

  File "./setup_posix.py", line 2, in <module>

    from ConfigParser import SafeConfigParser

ImportError: No module named 'ConfigParser'

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python
Storing complete log in /Users/jan/.pip/pip.log
Jans-MacBook-Pro:~ jan$ 

什么好主意吗?


当前回答

我运行kali linux- Rolling,当我尝试在终端中运行cup .py时,在更新到python 3.6.0后,我遇到了这个问题。经过一些研究和试验,我发现将ConfigParser更改为ConfigParser对我有用,但随后我遇到了另一个问题。

自信。 吸引:模块“说服器”没有吸引“说服器”

经过更多的研究,我意识到对于python 3, ConfigParser被更改为ConfigParser,但注意它有一个属性ConfigParser()。

其他回答

试试这个对我很有效的方法。

基本上就是从brew重新安装/升级到最新版本的mysql,然后从global pip3而不是virtualenv pip3安装mysqlclient或mysql - python。

然后访问virtualenv并成功安装mysqlclient或MySQL-Python。

对我来说,下面的命令是有效的:

sudo python3 -m pip install mysql-connector

我仍然有这个问题,所以我去/usr/lib/python3.8,输入sudoer:

cp configparser.py ConfigParser.py

你的python版本可能不是3.8。

额外的信息:

Python 2 x

import ConfigParser

Python 3 x

import configparser

下面的代码应该在Python 2中都能工作。X和3.x

显然,您将需要six模块,但如果没有six模块,几乎不可能编写在两个版本中都可以工作的模块。

try:
    import configparser
except:
    from six.moves import configparser