0

Не удается установить virtualenvwrapper на OSX 10.11 El Capitan

12

Проблема при установке 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 ответ(ов)

0

Вы можете вручную установить зависимости, которых нет в стандартной установке 10.11, а затем установить остальные пакеты с использованием флага --no-deps, чтобы игнорировать зависимости. Таким образом, установка пропустит sixargparse, который также уже установлен). Это работает на моей бета-версии 10.11 бета 6:

sudo pip install pbr
sudo pip install --no-deps stevedore
sudo pip install --no-deps virtualenvwrapper

При этом нет необходимости отключать защиту от записи.

0

Команда 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), что считается хорошей практикой.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь