Yosemite安装后Python configparser错误
我升级到了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
包。
这是我解决这个问题的方法:
从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
里更新一下。卸载你所有的python包:
pip freeze | grep -v "^-e" | xargs pip uninstall -y
根据需要重新安装你所有的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