Подтвердить что ты не робот

Не удалось обновить пакет python six в mac osx 10.10.2

Я пытаюсь установить последнюю версию шести пакетов python, но у меня есть следующие проблемы. Невозможно избавиться от шести 1.4.1 в Mac OSX 10.10.2

sudo pip install six --upgrade
Requirement already up-to-date: six in /Library/Python/2.7/site-packages
Cleaning up...

pip search six
six - Python 2 and 3 compatibility utilities
INSTALLED: 1.9.0 (latest)

python -c "import six; print six.version"
1.4.1

which -a python
/usr/bin/python
which -a pip
/usr/local/bin/pip

Что здесь не так? Невозможно обновить шесть!

4b9b3361

Ответ 1

Mac OS X python по умолчанию устанавливается как фреймворк. В каталоге framework есть каталог "Extras" и пакет six уже размещен там.

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py

В соответствии с описанием (https://github.com/MacPython/wiki/wiki/Which-Python), /System/Library/Frameworks/Python.framework/Versions/2.7/Extras указывается перед /Library/Python/2.7/site-packages в пути поиска модуля. Это означает, что все пакеты уже существуют в /System/Library/Frameworks/Python.framework/Versions/2.7/Extras не могут обновиться.

Возможно, вы должны установить python вручную, а не использовать python по умолчанию.

Ответ 2

Для меня, просто используя homebrew, исправлено все.

brew install python

Ответ 3

Ваш двоичный файл pip принадлежит /usr/local/bin/python, тогда как python указывает на /usr/bin/python. Как следствие

pip install --upgrade six

будет установлен на /usr/local/bin/python.

В приведенной ниже команде убедитесь, что используется правая версия pip:

python -m pip install --upgrade six

Ответ 4

Я решил проблему следующим способом.

  • Загрузите пакет six-1.10.0.tar.gz.
  • Используйте эту команду для его установки.

python setup.py install

Это работает, потому что он устанавливает новую версию от шести до /Library/Python/2.7/site-packages/, которая просматривается до /System/Library/Frameworks/Python.framework/Версии/2,7/Дополнительно/Library/питон/

Ответ 5

Что сработало для меня было использовать easy_install вместо pip.

easy_install -U six

Easy_install удалось обновить пакет, даже если pip не удалось.

Ответ 6

Я столкнулся с этой точной проблемой при использовании pip для установки клиента openstack. Мое исправление заключалось в том, чтобы использовать easy_install вместо pip, поскольку он использует /Library/Python/2.7/site-packages/ для установки модуля вместо /System/Library/Frameworks/Python.framework/Versions/2.7/Extras. Если это решение не является для вас вариантом, я могу подтвердить, что @Masakazu Matsushita имеет правильное обходное решение при настройке PYTHONPATH на /Library/Python/2.7/site-packages. Чтобы реализовать этот обходной путь, добавьте эту строку:

export PYTHON_PATH=/Library/Python/2.7/site-packages

к вашим ~/.bashrc и ~/.profile (если это приложение GUI Python, которое вы пытаетесь установить).

Ответ 7

Попробуйте выполнить следующие действия

  • Переустановите python с помощью brew

    $ brew install python

  • Устранение проблемы с символической связью

    $ brew link --overwrite python

  • Перезагрузите систему или запустите

    $ hash -r python

Ответ 8

Попробуйте с pip2 его работу для меня   pip2 install -U six

Ответ 9

В то время как одно или другое из вышеперечисленных решений может работать на вас, я думаю, важно понять, что происходит, и каковы параметры, которые у вас есть. Я нашел это (довольно длинное) описание очень полезным: он начинается с изложения вариантов и только затем предлагает решения.

Ответ 10

В конце концов, проблема для меня заключалась в том, что я использовал оболочку IPython.

which ipython вернулся /usr/local/bin/ipython, и при проверке этого файла, объявленного в верхней части #!/usr/bin/python, который, казалось, обошел все мои усилия, чтобы использовать правильное местоположение python.

Просто изменив эту строку #!/usr/local/bin/python, чтобы указать на правильную версию python, это означало, что IPython использовал правильный модуль six.