pip install
软件包,但是却得到了MySQL-python
。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$
有什么想法吗?
#1 楼
在Python 3中,为了符合PEP 8,ConfigParser
已重命名为configparser
。您正在安装的软件包似乎不支持Python3。评论
正确。 MySQL-python当前不支持Python 3。
– Michael Mior
2012年12月30日下午3:49
我有什么选择?我尝试了PyMySQL3-0.5,但是它的错误非常多,第一次执行调用时就会崩溃。
–如果__name__为None
2012-12-30 14:46
@JanBirsa谷歌快速搜索发现了几种可能性:如果PyMySQL无法正常工作,则可以使用OurSQL,MySQL Connector / Python,MySQL-Python的端口等。
–安倍·卡普拉斯(Abe Karplus)
2012-12-30 18:34
一个移动的目标,但我使用pip3 install mysql-connector。现在可以从MySQL获得python3支持。打字时的版本是2.1.3。
–龙芒
16年6月7日在9:42
刚刚尝试了sudo python3 -m pip install mysql-connector,现在可以正常工作了。感谢您的提示@Longmang
–马可
18 Mar 26 '18在14:35
#2 楼
您可以改用mysqlclient
软件包代替MySQL-python。它是MySQL-python
的一个分支,增加了对Python 3的支持。我在python3.4 virtualenv中的
pip install mysqlclient
这显然是针对ubuntu / debian的,但我只是想分享我的成功:)
评论
在CentOS上,在安装mysqlclient之前运行“ yum install python-devel mysql-devel”。
–郑乔
17年4月6日在7:50
请注意,这是一个GPL软件包,因此,如果使用此模块,则还需要使用GPL发行程序。
– bogdan.mustiata
17年9月28日在13:23
在Debian上安装libpython3.5-minimal软件包就足够了(sudo apt-get install libpython3.5-minimal)。
–patryk.beza
17-10-4在10:12
在OSX上,应在安装mysqlclient之前运行“ brew install mysql”。
–ghostishev
18年4月27日在9:40
我用pip3 install mysqlclient,它像一个魅力!谢谢!
–earnshae
18年8月27日在5:14
#3 楼
这是一个可以在Python 2.x和3.x上都可以使用的代码。显然,您将需要
six
模块,但是几乎不可能编写在两个版本中都没有六个版本的模块。 /> try:
import configparser
except:
from six.moves import configparser
评论
为什么不跳过try块,而仅使用6个。moves import configparser
– Matthias Kuhn
2015年11月10日19:20
-1。 6.moves的全部重点是为重命名的模块“提供一致的接口”。使用try / except来包装导入时,如果使用六个失败了。只需从six.moves导入configparser使用。这里不需要六个。您可以从六个替换。在您的except块中将import ConfigParser作为import ConfigParser移动为configparser,无需六个即可实现相同的结果。
– Mark Amery
16年4月13日在12:17
@MatthiasKuhn我想打算只对Python 2.X提出六个要求,但对Python 3.X不提出要求。
–马丁·托马
18-09-17在19:01
@MartinThoma这打败了整个观点(正如Mark Amery所写)。如果进行了try / except检查,则没有更多的理由使用six.moves,并且本地名称也可以直接用于Python 2。
– Matthias Kuhn
18-09-18在4:53
#4 楼
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
然后尝试再次安装MYSQL-python。
对我有用
#5 楼
在python3上不支持MySQL-python,您可以使用mysqlclient如果在
fedora/centos/Red Hat
上,请安装以下软件包br /> 评论
引发EnvironmentError(“找不到%s”%(mysql_config.path,))OSError:找不到mysql_config
– PirateApp
18年3月14日在6:14
@PirateApp可能未安装mysql。在这里检查stackoverflow.com/questions/7475223/…
– Kaushal
18年7月3日在9:28
sudo yum install python3-devel加载的插件:最快的镜像从缓存的主机文件加载镜像速度*基本:mirror.web-ster.com * epel:mirrors.cat.pdx.edu *其他:mirror.web-ster.com * ius:镜像.kernel.org *更新:mirror.web-ster.com没有可用的软件包python3-devel。错误:无事可做
– viru
19年1月3日在20:49
#6 楼
如果您正在使用CentOS,则需要使用yum install python34-devel.x86_64
yum groupinstall -y 'development tools'
pip3 install mysql-connector
pip install mysqlclient
#7 楼
只需通过configparser
库即可解决q2 / 1203的Python 2/3的兼容性from six.moves import configparser
#8 楼
我遇到了同样的问题。原来,我需要在centos上安装python3 devel。首先,您需要搜索与您的系统兼容的软件包。yum search python3 | grep devel
,然后将软件包安装为:
yum install -y python3-devel.x86_64
然后从pip安装mysqlclient
pip install mysqlclient
#9 楼
先执行pip3 install PyMySQL
,然后执行pip3 install mysqlclient
。为我工作
#10 楼
我进一步了解了Valeres的答案:pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser .py
然后尝试再次安装MYSQL-python。这对我有用
我建议链接文件而不是复制文件。保存更新。我将文件链接到
/usr/lib/python3/
目录。#11 楼
尝试使用对我来说效果很好的解决方案。基本上是从brew重新安装/升级到最新版本的mysql,然后从
mysqlclient
而不是MySQL-Python
安装global pip3
或virtualenv pip3
。然后访问
virtualenv
并成功安装mysqlclient
或MySQL-Python
。#12 楼
如何检查您首先使用的Python版本。import six
if six.PY2:
import ConfigParser as configparser
else:
import configparser
评论
从六开始这将非常简单。moves import configparser
– Akif
18年3月7日在8:12
#13 楼
我运行kali linux- Rolling,并在更新到python 3.6.0之后尝试在终端中运行cupp.py时遇到了这个问题。经过一些研究和试验,我发现将ConfigParser
更改为configparser
对我有用,但随后又遇到了另一个问题。 3 config = configparser.configparser()
AttributeError: module 'configparser' has no attribute 'configparser'
更改为ConfigParser
,但请注意,它具有属性configparser
。#14 楼
我在Mac OS 10,Python 3.7.6和Django 2.2.7上遇到了相同的错误。在尝试了众多解决方案之后,我想借此机会分享对我有用的东西。 link将当前依赖项复制到Requirements.txt文件中,停用当前虚拟环境,并使用删除它;
touch requirements.txt
复制到文件的依赖关系;
python -m pip3 freeze > requirements.txt
停用并删除当前的虚拟环境;
deactivate && rm -rf <virtual-env-name>
创建了另一个虚拟环境并使用激活了它;
python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate
使用安装以前的依赖项;
python -m pip3 install -r requirements.txt
#15 楼
对我来说,以下命令有效:sudo python3 -m pip install mysql-connector
#16 楼
我仍然有这个问题,因此我进入/usr/lib/python3.8并输入sudoer:cp configparser.py ConfigParser.py
您可能会使用除3.8以外的另一个python版本。
#17 楼
请看看/usr/bin/python
指向什么是如果它指向
python3 or higher
指向python2.7
这应该可以解决问题。
我得到了所有python软件包的安装错误。安倍·卡普拉斯(Abe Karplus)的解决方案和讨论向我暗示了可能是什么问题。
然后我回想起我已将
/usr/bin/python
从python2.7
手动更改为/usr/bin/python3.5
,这实际上是引起问题的原因。一旦我reverted
一样。解决了评论
恢复到Python 2以支持MySQL-python实在是太过分了;请改用库的Python 3版本。
– Mark Amery
16年4月17日在19:06
#18 楼
这对我有用cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py
评论
不应该那样做。请参阅Abe karplus的回答。 ConfigParser在Python3中已重命名为configparser。
–鲍勃·尤普拉特(Bob Yoplait)
17年5月11日在10:06
评论
echo $ PATH表示什么?2017年怎么会出现python3相同的错误?