Yosemite安装后Python configparser错误

5 投票
2 回答
3600 浏览
提问于 2025-04-28 18:50

我升级到了Yosemite系统,结果似乎把我的Python模块搞坏了。

python --version 显示的是 Python 2.7.6

然后在Python的命令行里:

>>> import pyrax
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/pyrax/__init__.py", line 38, in <module>
    import six.moves.configparser as ConfigParser
ImportError: No module named configparser

它在抱怨 configparser 这个模块。

pip show configparser
---
Name: configparser
Version: 3.3.0r2
Location: /Library/Python/2.7/site-packages
Requires: 

但这个模块确实存在。经过一些查阅,我发现ConfigParser在Python 3中被改名为configparser。不过我现在用的是2.7版本。

--- 编辑 ----

再补充一些信息:
没有使用homebrew来安装Python
我尝试过重新安装pyrax这个模块。

有什么想法吗?

暂无标签

2 个回答

2

我也遇到过同样的问题,花了几个小时调查这个问题。
我发现,OS X 10.10自带的python版本里有一个过时的six包。

这是我解决这个问题的方法:

  1. 从homebrew安装python包:

    brew install python
    

    确保homebrew安装的python是你系统的默认版本。可以检查一下brew doctor和你的默认$PATH

    brew doctor
    

    应该显示“你的系统准备好使用brew了。”如果没有显示这个,你需要先解决这个问题。我们要用homebrew的python,而不是OS X自带的python:

    which python
    

    应该输出并指向“/usr/local/bin/python”

    如果没有,检查一下你的$PATH - 它应该先输出“/usr/local/bin”,然后是“/usr/bin”。如果不是这样,记得在.bash_profile和/或.zshrc里更新一下。

  2. 卸载你所有的python包:

    pip freeze | grep -v "^-e" | xargs pip uninstall -y
    
  3. 根据需要重新安装你所有的python包:

    pip install -r requirements.txt
    

经过这些步骤后,应该就能正常工作了。

9

只需把旧的六个(库)移开,然后通过pip重新安装就可以了...

mkdir ~/six-old-library/
mkdir ~/six-old-system-library/
sudo mv /Library/Python/2.7/site-packages/six* ~/six-old-library/
sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six* ~/six-old-system-library/
sudo pip install six

撰写回答