369

我正在尝试打包,但我得到了pip install一个.MySQL-pythonImportError

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$ 

有任何想法吗?

4

20 回答 20

451

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

我很幸运

pip install mysqlclient

在我的python3.4 virtualenv之后

sudo apt-get install python3-dev libmysqlclient-dev

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

于 2014-06-01T10:35:25.347 回答
435

在 Python 3 中,ConfigParser已重命名为以configparser符合 PEP 8。您正在安装的软件包似乎不支持 Python 3。

于 2012-12-30T02:12:13.697 回答
19

这是应该在 Python 2.x 和 3.x 中都可以使用的代码

显然,您将需要该six模块,但几乎不可能编写在没有六个版本的情况下在两个版本中都工作的模块。

try:
    import configparser
except:
    from six.moves import configparser
于 2014-08-05T09:42:37.617 回答
16
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py

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

于 2018-04-09T22:00:58.553 回答
12

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

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

  1. yum install python3-devel
  2. pip install mysqlclient
于 2017-07-22T14:29:41.020 回答
8

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

  1. yum install python34-devel.x86_64
  2. yum groupinstall -y 'development tools'
  3. pip3 install mysql-connector
  4. pip install mysqlclient
于 2016-12-12T07:33:11.707 回答
8

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

from six.moves import configparser
于 2018-03-09T12:29:16.030 回答
7

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

yum search python3 | grep devel

然后,将软件包安装为:

yum install -y python3-devel.x86_64

然后,从 pip 安装 mysqlclient

pip install mysqlclient
于 2019-02-26T02:54:42.733 回答
7

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

于 2019-05-01T18:58:51.317 回答
3

我进一步了解 Valeres 的回答:

pip install configparser sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 然后尝试再次安装MYSQL-python。这对我有用

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

于 2018-05-27T17:14:34.370 回答
3

附加信息:

蟒蛇 2x

import ConfigParser

蟒蛇 3x

import configparser
于 2021-06-29T06:28:53.083 回答
2

试试这个对我来说很好的解决方案。

基本上是从brew重新安装/升级到最新版本的mysql,然后安装or从而不是.mysqlclientMySQL-Pythonglobal pip3virtualenv pip3

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

于 2018-05-26T20:16:38.537 回答
2

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

cp configparser.py ConfigParser.py

您可能有另一个 Python 版本而不是 3.8。

于 2020-09-14T13:03:18.747 回答
2

对我来说,以下命令有效:

sudo python3 -m pip install mysql-connector
于 2020-09-25T14:42:04.560 回答
1

如何首先检查您正在使用的 Python 版本。

import six
if six.PY2:
    import ConfigParser as configparser
else:
    import configparser
于 2017-09-06T12:14:39.023 回答
1

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

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

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

于 2018-01-06T10:39:14.830 回答
1

我在 Mac OS 10、Python 3.7.6 和 Django 2.2.7 上遇到了同样的错误。在尝试了许多解决方案后,我想借此机会分享对我有用的方法。

脚步

  1. 从链接安装了适用于 Mac OS 的 Connector/Python 8.0.20

  2. 将当前依赖项复制到 requirements.txt 文件中,停用当前虚拟环境,并使用删除它;

    如果尚未创建文件,请创建文件;touch requirements.txt

    将依赖项复制到文件;python -m pip3 freeze > requirements.txt

    停用和删除当前的虚拟环境;deactivate && rm -rf <virtual-env-name>

  3. 创建另一个虚拟环境并使用激活它;python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate

  4. 使用安装以前的依赖项;python -m pip3 install -r requirements.txt

于 2020-04-29T15:08:36.857 回答
1

@MaciejNg之后,我尝试制作一个副本,但没有成功:

sudo cp ./env/lib/python3.8/site-packages/configparser.py ./env/lib/python3.8/site-packages/ConfigParser.py

因为configparser.pyConfigParser.py是相同的,所以我重命名了文件:

sudo mv ./env/lib/python3.8/site-packages/configparser.py ./env/lib/python3.8/site-packages/ConfigParser.py
于 2021-10-21T08:02:45.623 回答
-2

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

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

这应该可以解决问题。

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

于 2015-12-17T11:35:28.867 回答
-3

这对我有用

cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py
于 2016-08-17T10:44:19.353 回答