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

if *_*one 289 python python-3.x

我想pip installMySQL-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$ 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Eld*_*mir 385

您可以使用该mysqlclient包作为MySQL-python的替代品.它是一个MySQL-python增加了对Python 3的支持的分支.

我很幸运

pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)

在我的python3.4 virtualenv之后

sudo apt-get install python3-dev libmysqlclient-dev
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,这是一个GPL包,因此如果您使用此模块,您还需要使用GPL发布您的程序. (3认同)
  • 在CentOS上,在安装mysqlclient之前运行"yum install python-devel mysql-devel". (2认同)
  • 在OSX上,应在安装mysqlclient之前运行“ brew install mysql”。 (2认同)

Abe*_*lus 322

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

  • 正确.MySQL-python目前不支持Python 3. (69认同)
  • @JanBirsa一个快速的谷歌搜索发现了一些可能性:如果[PyMySQL](https://github.com/petehunt/PyMySQL/)不起作用,有[OurSQL](https://launchpad.net/oursql/ ),[MySQL Connector/Python](http://dev.mysql.com/doc/connector-python/en/index.html),[MySQL-Python的一个端口](http://sourceforge.net/p/mysql-python/discussion/70460/thread/61e3a3c9)等. (15认同)
  • 这个移动目标,但我使用pip3安装mysql-connector.现在可从MySQL获得python3支持.在打字时发布是2.1.3. (11认同)
  • 刚刚尝试了`sudo python3 -m pip install mysql-connector`,现在它可以工作了。感谢您的提示@Longmang (7认同)
  • 我有什么选择?我试过PyMySQL3-0.5,但是它非常多,它在第一次执行调用时崩溃了. (3认同)

sor*_*rin 12

这是一个应该在Python 2.x和3.x中都有效的代码

显然你需要这个six模块,但几乎不可能编写在没有六个版本的两个版本中工作的模块.

try:
    import configparser
except:
    from six.moves import configparser
Run Code Online (Sandbox Code Playgroud)

  • 为什么不跳过try块,只使用`from six.moves import configparser` (4认同)
  • -1.`six.moves`的重点是[*"提供一致的界面"*](https://pythonhosted.org/six/#module-six.moves)来重命名模块; 当使用`six`时,使用`try` /`except`包装导入会失败.只需使用`from six.moves import configparser`.这里不需要六个; 您可以在`except`块中用`import ConfigParser for configparser`替换`from six.moves import configparser`并获得相同的结果而不需要`six`. (4认同)

Kau*_*hal 11

python3不支持MySQL-python而不是你可以使用mysqlclient

如果您正在fedora/centos/Red Hat安装以下包

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


Abh*_*til 11

附加信息:

蟒蛇2x

import ConfigParser
Run Code Online (Sandbox Code Playgroud)

蟒蛇 3x

import configparser
Run Code Online (Sandbox Code Playgroud)


小智 10

pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
Run Code Online (Sandbox Code Playgroud)

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


Sid*_*rya 7

我遇到了同样的问题。原来,我需要在我的 centos 上安装 python3 devel。首先,您需要搜索与您的系统兼容的软件包。

yum search python3 | grep devel
Run Code Online (Sandbox Code Playgroud)

然后,将软件包安装为:

yum install -y python3-devel.x86_64
Run Code Online (Sandbox Code Playgroud)

然后,从pip安装mysqlclient

pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您使用的是CentOS,那么您需要使用

  1. yum install python34-devel.x86_64
  2. yum groupinstall -y 'development tools'
  3. pip3 install mysql-connector
  4. pip install mysqlclient


Aki*_*kif 6

configparser可以通过six库简单地解决Python 2/3的兼容性

from six.moves import configparser
Run Code Online (Sandbox Code Playgroud)


Roy*_*Ash 6

pip3 install PyMySQL然后pip3 install mysqlclient。为我工作