2014-10-21 3 views
2

Я обновился до Yosemite, и это, похоже, сломало мои модули python.Ошибка Python configparser после установки Yosemite

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 был переименован в configparser в версии python версии 3. Я, тем не менее, выполняю 2.7.

--- EDIT ----

Некоторые подробнее:
Я не с помощью доморощенного для Python
Я попытался повторно устанавливать pyrax

Есть идеи?

+0

У меня также были сломанные пакеты при переходе с Горного льва на Маверикс. Если я правильно помню, мне пришлось переустановить почти все сторонние пакеты (в основном через «pip»), чтобы заставить их работать снова. Из-за вашего вопроса, я теперь задаюсь вопросом, когда Apple получит всю эту обновляющуюся вещь, работающую плавно. – mach

+0

Запуск вариантов Я решил дать это: http://stackoverflow.com/questions/2720014/upgrading-all-packages-with-pip. К сожалению, не повезло. –

ответ

2

У меня была такая же проблема, и я провел пару часов, исследуя ее.
Я узнал, что python по умолчанию для OS X 10.10 содержит устаревший пакет six.

Это, как я установил его:

  1. Установите python пакет из доморощенного:

    brew install python 
    

    Убедитесь, что доморощенный питон ваша версия системы по умолчанию. Проверьте заваривание врач и по умолчанию $PATH:

    brew doctor 
    

    Должен сказать, «Ваша система готова к завариванию.» Если это не так, сначала нужно исправить это. Нам нужно использовать питона доморощенный, а не питон OS Х:

    which python 
    

    Должен ли выход и точка «/ USR/местные/бен/питон»

    Если это не так, проверьте ваш $PATH - он должен вывода "/ usr/local/bin", затем "/ usr/bin". Если это не так, обновите его в .bash_profile и/или .zshrc.

  2. Удалите весь ваш питон пакеты:

    pip freeze | grep -v "^-e" | xargs pip uninstall -y 
    
  3. переустановить все пакеты питона по мере необходимости:

    pip install -r requirements.txt 
    

После всего этого, он должен работать.

9

Просто переместите старые шестерки в сторону, и переустановите через пип ...

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 
Смежные вопросы