python 3 importError:没有名为”configparser”的模块

Python 3 ImportError: No module named 'ConfigParser'

我正在尝试pip installMySQL-python包,但我得到了ImportError

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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$

有什么想法吗?


相反,您可以使用mysqlclient包作为mysql python的一个内嵌替换。它是MySQL-python的一个分支,添加了对python 3的支持。

我很幸运

1
pip install mysqlclient

在我的python3.4 virtualenv之后

1
sudo apt-get install python3-dev libmysqlclient-dev

这显然是针对Ubuntu/Debian的,但我只是想分享我的成功:)


在python 3中,为了符合PEP8,ConfigParser被重命名为ConfigParser。您正在安装的包似乎不支持Python3。


下面是一个可以在python 2.x和3.x中使用的代码

显然,您将需要six模块,但几乎不可能在两个版本中编写不使用6个的模块。

1
2
3
4
try:
    import configparser
except:
    from six.moves import configparser


python3不支持mysql python,您可以使用mysqlclient来代替它。

如果您在fedora/centos/Red Hat上,请安装以下软件包

  • yum install python3-devel
  • pip install mysqlclient

  • 1
    2
    pip install configparser
    sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py

    然后再次尝试安装mysql python。对我有用


    python 2/3与ConfigParser的兼容性可以简单地通过six库来解决。

    1
    from six.moves import configparser


    如果使用CentOS,则需要使用

  • yum install python34-devel.x86_64
  • yum groupinstall -y 'development tools'
  • pip3 install mysql-connector
  • pip install mysqlclient

  • 我也有同样的问题。结果,我需要在我的CentOS上安装python3-devel。首先,您需要搜索与您的系统兼容的包。

    1
    yum search python3 | grep devel

    然后,将软件包安装为:

    1
    yum install -y python3-devel.x86_64

    然后,从pip安装mysqlclient

    1
    pip install mysqlclient


    我进一步了解了瓦莱尔的回答:

    pip install configparser
    sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
    Then try to install the MYSQL-python again. That Worked for me

    我建议链接文件而不是复制它。保存以更新。我把文件链接到/usr/lib/python3/目录。


    1
    brew install mysql

    pip3 install mysql仍然给出了"configparser错误",我不知道为什么现在还没有纠正。


    试试这个对我有用的解决方案。

    基本上是从BREW重新安装/升级到MySQL的最新版本,然后从global pip3安装mysqlclientMySQL-python,而不是从virtualenv pip3

    然后访问virtualenv并成功安装mysqlclientMySQL-python


    我运行kali linux-rolling,在更新到python 3.6.0之后,当我尝试在终端运行cupp.py时遇到了这个问题。经过一些研究和试验,我发现把ConfigParser改成ConfigParser对我来说很有用,但后来我又遇到了另一个问题。

    config = configparser.configparser()
    AttributeError: module 'configparser' has no attribute 'configparser'

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


    先检查一下您使用的Python版本如何?

    1
    2
    3
    4
    5
    import six
    if six.PY2:
        import ConfigParser as configparser
    else:
        import configparser


    这对我有用

    1
    cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py


    很高兴看到/usr/bin/python指的是什么

    如果指向python3 or higher,则改为python2.7

    这应该解决这个问题。

    我得到了所有python包的安装错误。Abe Karplus的解决方案和讨论给了我关于问题可能是什么的提示。然后我回忆起,我手动将/usr/bin/pythonpython2.7改为/usr/bin/python3.5,这实际上是导致问题的原因。一次我也一样。它解决了。