Python 3的ImportError:没有名为“ConfigParser”的模块

我想要pip install 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$ 

有任何想法吗?

在Python 3中, ConfigParser已被重命名为configparser以符合PEP 8。 看起来你正在安装的软件包不支持Python 3。

您可以使用mysqlclient包作为MySQL-python的插入替代品。 这是MySQL-python一个分支,增加了对Python 3的支持。

我很幸运

 pip install mysqlclient 

在我的python3.4 virtualenv之后

 sudo apt-get install python3-dev libmysqlclient-dev 

这显然是特定于Ubuntu / Debian,但我只是想分享我的成功:)

这是一个可以在Python 2.x和3.x下工作的代码

显然你需要six模块,但是编写两个版本的模块几乎是不可能的。

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

如果你正在使用Centos,那么你需要使用

  1. yum安装python34-devel.x86_64

  2. yum groupinstall -y'开发工具'

  3. pip3安装mysql-connector

  4. pip安装mysqlclient

希望这会工作。

python3不支持MySQL-python,而不是使用mysqlclient

如果你是在fedora/centos/Red Hat安装下面的包

  1. yum install python3-devel
  2. pip install mysqlclient

如何检查你使用的Python的版本。

 import six if six.PY2: import ConfigParser as configparser else: import configparser 

请看看/usr/bin/python指向的是什么

如果它指向python3 or higher更改为python2.7

这应该解决这个问题。

我得到所有的Python包的安装错误。 安倍Karplus的解决scheme和讨论给了我什么可能是问题的暗示。 然后我回想起我已经手动将/usr/bin/pythonpython2.7更改为/usr/bin/python3.5 ,这实际上导致了问题。 一旦我reverted原样。 它解决了。

这对我有效

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