Yosemite安装后的Python configparser错误

Jas*_*awn 2 python configparser osx-yosemite

我升级到优胜美地,这似乎打破了我的python模块.

python --version == Python 2.7.6

然后从Python shell:

>>> 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
Run Code Online (Sandbox Code Playgroud)

所以它抱怨configparser.

pip show configparser
---
Name: configparser
Version: 3.3.0r2
Location: /Library/Python/2.7/site-packages
Requires: 
Run Code Online (Sandbox Code Playgroud)

但它就在那里.经过一些阅读后,很明显ConfigParser已经在python版本3中重命名为configparser.但是我运行2.7.

---编辑----

更多信息:
没有在Python上使用自制软件
我试过重新安装pyrax

有任何想法吗 ?

Byr*_*lum 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
Run Code Online (Sandbox Code Playgroud)


小智 2

我遇到了同样的问题,并花了几个小时进行调查。
我了解到 OS X 10.10 的默认 python 包含一个过时的six包。

这就是我修复它的方法:

  1. 从自制程序安装python软件包:

    brew install python
    
    Run Code Online (Sandbox Code Playgroud)

    确保 homebrew python 是您的默认系统版本。检查brew doctor 和您的默认值$PATH

    brew doctor
    
    Run Code Online (Sandbox Code Playgroud)

    应该说“您的系统已准备好酿造”。如果没有,您需要先修复它。我们需要使用 homebrew 的 python,而不是 OS X 的 python:

    which python
    
    Run Code Online (Sandbox Code Playgroud)

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

    如果没有,请检查$PATH- 它应该首先输出“/usr/local/bin”,然后输出“/usr/bin”。如果没有,请在.bash_profile和/或中更新它.zshrc

  2. 卸载所有 python 包:

    pip freeze | grep -v "^-e" | xargs pip uninstall -y
    
    Run Code Online (Sandbox Code Playgroud)
  3. 根据需要重新安装所有 python 软件包:

    pip install -r requirements.txt
    
    Run Code Online (Sandbox Code Playgroud)

毕竟,它应该可以工作。