Не удается установить virtualenvwrapper на OSX 10.11 El Capitan
Проблема при установке virtualenvwrapper на OSX El Capitan
Я недавно очистил свой Mac и переустановил OSX El Capitan public beta 3. Установил pip с помощью команды sudo easy_install pip
, а затем установил virtualenv через sudo pip install virtualenv
— без каких-либо проблем.
Однако, когда я пытаюсь установить virtualenvwrapper с помощью команды sudo pip install virtualenvwrapper
, я получаю следующее сообщение об ошибке:
The directory '/Users/User/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Также появляется сообщение о том, что каталог нечитаем, и кеш отключен. Инструкция рекомендует использовать флаг -H
с sudo, но даже с ним ошибка остается практически такой же.
При попытке самостоятелньо удалить пакет six
с помощью sudo pip uninstall six
возникает та же ошибка:
OSError: [Errno 1] Operation not permitted: '/tmp/pip-tTNnKQ-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
Я отключил функцию "rootless", выполнив sudo nvram boot-args="rootless=0"
, но это не дало эффекта.
Пожалуйста, подскажите, как решить эту проблему. Буду признателен за любую помощь!
2 ответ(ов)
Вы можете вручную установить зависимости, которых нет в стандартной установке 10.11, а затем установить остальные пакеты с использованием флага --no-deps
, чтобы игнорировать зависимости. Таким образом, установка пропустит six
(и argparse
, который также уже установлен). Это работает на моей бета-версии 10.11 бета 6:
sudo pip install pbr
sudo pip install --no-deps stevedore
sudo pip install --no-deps virtualenvwrapper
При этом нет необходимости отключать защиту от записи.
Команда sudo pip install virtualenvwrapper --ignore-installed six
используется для установки пакета virtualenvwrapper
с помощью pip
, игнорируя уже установленный пакет six
. Этот подход может быть полезен, если у вас есть конфликт версий или проблемы с зависимостями.
Если вы хотите установить virtualenvwrapper
без учета установленного six
, вы можете также попробовать:
sudo pip install virtualenvwrapper
Однако, если у вас возникли проблемы с библиотекой six
, использование параметра --ignore-installed
может помочь избежать конфликтов.
В качестве альтернативы, рекомендуется пользоваться virtualenvwrapper
через pip
в виртуальной среде, чтобы минимизировать проблемы с зависимостями:
# Создаем виртуальную среду
virtualenv venv
source venv/bin/activate
# Устанавливаем virtualenvwrapper внутри виртуальной среды
pip install virtualenvwrapper
Таким образом, вы избегаете установки пакетов с правами суперпользователя (sudo
), что считается хорошей практикой.
Как выйти/деактивировать виртуальное окружение Python?
В чем разница между venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv и другими?
Файлы конфигурации pip, специфичные для Virtualenv
Как изменить цвет фона или текста кнопки Tkinter на Mac OS X?
Python: ImportError: lxml не найден, пожалуйста, установите его