[英]Python 3 ImportError: No module named '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$
有任何想法吗?
您可以改为使用mysqlclient
包作为 MySQL-python 的替代品。 它是MySQL-python
一个分支,增加了对 Python 3 的支持。
我很幸运
pip install mysqlclient
在我的 python3.4 virtualenv 之后
sudo apt-get install python3-dev libmysqlclient-dev
这显然是针对 ubuntu/debian 的,但我只是想分享我的成功:)
在 Python 3 中, ConfigParser
已重命名为configparser
以符合 PEP 8。 您正在安装的软件包似乎不支持 Python 3。
这是一个应该在 Python 2.x 和 3.x 中工作的代码
显然,您将需要six
模块,但几乎不可能编写在没有六个模块的情况下在两个版本中都能工作的模块。
try:
import configparser
except:
from six.moves import configparser
pip install configparser
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py
然后再次尝试安装MYSQL-python。 这对我有用
python3 不支持 MySQL-python 而不是你可以使用mysqlclient
如果您在fedora/centos/Red Hat
安装以下软件包
yum install python3-devel
pip install mysqlclient
如果您使用的是 CentOS,那么您需要使用
yum install python34-devel.x86_64
yum groupinstall -y 'development tools'
pip3 install mysql-connector
pip install mysqlclient
Python 2/3 对configparser
兼容性可以简单地通过six
库来解决
from six.moves import configparser
我遇到了同样的问题。 原来,我需要在我的 centos 上安装 python3 devel。 首先,您需要搜索与您的系统兼容的软件包。
yum search python3 | grep devel
然后,将软件包安装为:
yum install -y python3-devel.x86_64
然后,从pip安装mysqlclient
pip install mysqlclient
做pip3 install PyMySQL
然后pip3 install mysqlclient
。 为我工作
我得到了更进一步的 Valeres 回答:
pip install configparser sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 然后再次尝试安装MYSQL-python。 这对我有用
我建议链接文件而不是复制它。 保存更新。 我将文件链接到/usr/lib/python3/
目录。
试试这个对我来说很好的解决方案。
基本上是从brew重新安装/升级到最新版本的mysql ,然后从global pip3
而不是virtualenv pip3
安装mysqlclient
或MySQL-Python
。
然后访问virtualenv
并成功安装mysqlclient
或MySQL-Python
。
首先检查您使用的Python版本如何。
import six
if six.PY2:
import ConfigParser as configparser
else:
import configparser
我运行 kali linux-Rolling 并且在更新到 python 3.6.0 后尝试在终端中运行 cupp.py 时遇到了这个问题。 经过一些研究和试验,我发现将ConfigParser
更改为configparser
对我configparser
,但后来我遇到了另一个问题。
config = configparser.configparser() AttributeError: module 'configparser' has no attribute 'configparser'
经过更多的研究,我意识到对于 python 3 ConfigParser
已更改为configparser
但请注意它有一个属性ConfigParser()
。
我在 Mac OS 10、Python 3.7.6 和 Django 2.2.7 上遇到了同样的错误。 在尝试了多种解决方案后,我想借此机会分享对我有用的方法。
脚步
从链接为 Mac OS 安装了连接器/Python 8.0.20
将当前依赖复制到 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
我仍然有这个问题,所以我转到 /usr/lib/python3.8 并键入 sudoer:
cp configparser.py ConfigParser.py
您可能有 3.8 以外的另一个 Python 版本。
对我来说,以下命令有效:
sudo python3 -m pip install mysql-connector
附加信息:
蟒蛇 2x
import ConfigParser
蟒蛇 3x
import configparser
brew install mysql
pip3 install mysql
仍然给出“ configparser错误”,我不知道为什么现在还没有纠正。
我正在尝试使用此命令'./trytond --verbose'为GNU健康运行tryton服务器,但出现此错误:
追溯(最近一次通话最后一次):从trytond.config导入配置进入文件“ ./trytond”,第16行,split_netloc文件“ /home/health/gnuhealth/tryton/server/trytond-4.6.21/trytond/config”。 py”,第4行,在导入configparser ImportError中:没有名为configparser的模块
我该怎么办才能运行服务器? 请帮忙。
在@MaciejNg 之后,我尝试复制:
sudo cp ./env/lib/python3.8/site-packages/configparser.py ./env/lib/python3.8/site-packages/ConfigParser.py
哪个不起作用
configparser.py and ConfigParser.py are identical
所以我重命名了文件:
sudo mv ./env/lib/python3.8/site-packages/configparser.py ./env/lib/python3.8/site-packages/ConfigParser.py
请看看/usr/bin/python
指向什么
如果它指向python3 or higher
更改为python2.7
这应该可以解决问题。
我收到所有 python 包的安装错误。 Abe Karplus 的解决方案和讨论给了我可能是什么问题的提示。 然后我想起我手动将/usr/bin/python
从python2.7
更改为/usr/bin/python3.5
,这实际上是导致问题的原因。 一旦我reverted
了同样的。 它得到了解决。
这对我有用
cp /usr/local/lib/python3.5/configparser.py /usr/local/lib/python3.5/ConfigParser.py
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.