Когда я бегу:
sudo pip install ipython
Я получаю следующую ошибку
OSError: [Errno: 1] Операция запрещена: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'
Последняя выполненная команда пытается создать каталог, указанный выше.
Кроме того, следующая команда не может установить iPython без каких-либо ошибок.
sudo pip install --user python
(Я использую Mac OS X El Capitan на случай, если другие пользователи этой ОС увидят ту же проблему.)
$PATH
чтобы вы могли вызывать исполняемые файлы для установленных пакетов --user. stackoverflow.com/a/47102398/117471sudo
с--user
. Что--user
нужно установить,~/Library
а не то, что/Library
вам не нужно использоватьsudo
для установки там. Но после установки сsudo
помощью все каталоги и файлы принадлежатroot
. Тогда вы должны использоватьsudo
что-нибудь еще с ними. Что, в свою очередь, потребует от вас использованияsudo
для других целей, для которых вы не должны его использовать. Тогда даже честная ошибка может перерасти в ошибку или уничтожить данные.Ответы:
Инструкции
sudo pip install
по своей сути неверны.Если есть какое-либо руководство, в котором говорится, что вы должны это сделать,
sudo pip
пожалуйста, сообщите об ошибке в этом пакете. Автор дезинформирует сообщество Python, поскольку время оказалосьsudo pip
неуместным.OSX El Capitan представила механизмы для предотвращения повреждения файлов операционной системы .
/System/Library/Frameworks/Python.framework/Versions/2.7/share
одно из охраняемых мест. У обычного пользователя нет причин помещать или записывать туда какие-либо файлы . Это связано с тем, что сама операционная система полагается на эти файлы иsudo pip
со всей силой, указанной выше, безоговорочно перезапишет их. Обычно плохого не бывает, но есть шанс. Apple хочет защитить пользователей своих ОС от случайного прерывания их установки.Вместо этого вам нужно установить пакет Python, например IPython, локально в домашнюю папку вашего пользователя . Самый простой способ - создать виртуальную среду , активировать ее, а затем запустить pip в виртуальной среде.
Пример:
Больше информации
Официальное руководство по установке пакета Python .
Как создавать виртуальные среды .
Как вариант, надо уметь
pip install --user
. Но опять же, sudo не требуется, и вам нужно вручную настроитьPATH
переменную среды.источник
easy_install
stackoverflow.com/a/33463702/3078330pip install virtualenv
больше не требуется для Python 3.4+, так как они имеют встроенныйpython -m venv
эквивалент virtualenv. docs.python.org/3/library/venv.htmlpip install --user IPython
помощь в этом. Более того,pip install --user IPython
не удается разместитьipython
команду в$PATH
(по крайней мере, на моей машине).У меня были те же проблемы, но использование
easy_install "module"
решило проблему для меня.Я не уверен, почему, но pip и easy_install используют разные места установки, а easy_install выбрала правильные.
Изменить: без повторной проверки, но из-за комментариев; кажется, что разные установки (OSX и brew-installed) мешают друг другу, поэтому упомянутые инструменты действительно указывают на разные места (поскольку они принадлежат к разным установкам). Я понимаю, что обычно эти инструменты из одной точки установки в одну и ту же папку.
источник
easy_install
настроены ли они для другого?easy_install
для всех из них:easy_install-2.6
,easy_install-2.7
,easy_install-3.5
pip
иeasy_install
указывают на разные Python. Вы можете выяснить это с помощьюwhich
команды UNIX, а затем выяснить, какуюpip
команду использовать.Вам следует переустановить Python:
Чтобы получить варево, посетите домашнюю страницу .
источник
brew install python
то думаюpip
уже на месте. После этогоpip
инсталляции работал (я имел аналогичные проблемы ж / разрешений и пип тартание на установках)pip install --ignore-installed six
Это сделает работу, тогда вы можете попробовать свою первую команду.
Через http://github.com/pypa/pip/issues/3165
источник
pip install --ignore-installed setuptools
.Используется
pip3 install <package>
вместо этого и решает проблему с разрешением с помощьюpip
.источник
pip3
использует Python 3, который обычно устанавливается пользователем. Python 2 (2.7), с другой стороны, поставляется с macOS и защищен, как объясняется в самом популярном ответе.TL; исправление DR $ PATH
pip install --user package_name
для установки пакета, который должен включать исполняемые файлы CLI.import package_name
lib/python/...
место на выходе и замените все наbin
$HOME/Library/Python/2.7/bin
подробности
Благодаря новой защите целостности системы в macOS 10.11 El Capitan вы больше не можете
sudo pip install
. Мы не будем здесь обсуждать достоинства этого.Другой ответ объясняет, что вы должны,
pip install --user
что правильно. Но они отправили вас в закоулки, чтобы выяснить, что с ними делать,$PATH
чтобы вы могли получить доступ к установленным исполняемым файлам. К счастью, я уже решил подобную потребность в несвязанном вопросе .Вот запись того, как я решил проблему на одной из моих систем. Я включаю все это, а не то,
$PATH
что у меня сработало, потому что ваша система может отличаться от моей. Этот процесс должен работать для всех.источник
Та же ошибка
и здесь я использую
--user
без,sudo
чтобы решить эту проблемуНадеюсь, это поможет тому, кто столкнется с подобной проблемой!
источник
sudo
с--user
. Что--user
нужно установить,~/Library
а не то, что/Library
вам не нужно использоватьsudo
для установки там. Но после установки сsudo
помощью все каталоги и файлы принадлежатroot
. Тогда вы должны использоватьsudo
что-нибудь еще с ними. Что, в свою очередь, потребует от вас использованияsudo
для других целей, для которых вы не должны его использовать. Тогда даже честная ошибка может перерасти в ошибку или уничтожить данные.У меня были такие же проблемы. Как уже упоминалось, не запускайте pip install с помощью sudo. Бегать
и исправьте предупреждения, и вы сможете продолжить установку pip.
источник
Трудно заставить pip работать на El Capitan по нескольким причинам:
/System/Library/
. El Capitan блокирует это, и это ошибка, с которой вы столкнулись./System/Library/
. pip часто хочет обновить их, но не может на El Capitan./System/Library/
более высокое место в порядке поиска python, чем/Library/Python/2.7/site-packages
(общесистемное расположение пакета python), поэтому даже если вам удастся установить более новые версии некоторых пакетов, старые все равно будут загружаться, нарушая некоторые зависимости.Для всего этого есть обходные пути на https://apple.stackexchange.com/a/223163/143849 . Но вам может быть лучше установить свою собственную версию Python через стандартный установщик Python, Homebrew или Anaconda.
источник
Я думаю, у вас есть конфликт с другим пакетом. Для меня это было
six
. Итак, вам нужно использовать такую команду:или
pip install --ignore-installed six
источник
six
.Я полностью согласен с Микко, но если вы все еще хотите это сделать, вот способ:
csrutil disable
источник
У меня установлен python2.7 через brew, и моя проблема решена следующим образом
варить установить numpy
Он устанавливает python3, но все еще работает и настраивает его для версии 2.7.
источник