簡體   English   中英

Python 3 ImportError:沒有名為“ConfigParser”的模塊

[英]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安裝以下軟件包

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

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

  1. yum install python34-devel.x86_64
  2. yum groupinstall -y 'development tools'
  3. pip3 install mysql-connector
  4. 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安裝mysqlclientMySQL-Python

然后訪問virtualenv並成功安裝mysqlclientMySQL-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 上遇到了同樣的錯誤。 在嘗試了多種解決方案后,我想借此機會分享對我有用的方法。

腳步

  1. 鏈接為 Mac OS 安裝了連接器/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

我仍然有這個問題,所以我轉到 /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/pythonpython2.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM