Я знаю, что эта тема была забита до смерти, но я не смог найти решение проблемы, с которой я сталкиваюсь на SO или в другом месте, поэтому я подозреваю, что где-то в моей системе может быть ошибка.
Я на более старой платформе RHEL 6 с Python 3.4. Я разрабатываю приложение, которое будет работать на этой платформе, использующей Qt. Я установил все соответствующие библиотеки через yum
(например, qt-devel
, pyqt4-devel
и т. Д.) И теперь хочу установить свой пакет приложения как «редактируемый» пакет, используя pip install -e mypkg
. У меня также есть пара требований зависимости, которые не на yum
и должны быть установлены через pip
.
То, что я хотел бы сделать, - это создать virtualenv, который «наследует» системные пакеты, установленные через yum
, но позволяет мне pip install
моих собственных пакетов в каталог virtualenv в моем домашнем каталоге.
По моему гуглингу, лучший способ сделать это - создать виртуальную среду с системным каталогом пакетов сайта:
$ python3 -m venv --system-site-packages ~/venv
Однако, когда я пытаюсь установить пакет в каталог site-packages этого virtualenv, он пытается установить его в /usr/lib
, и я получаю ошибку Permission denied
.
Похоже, что опция --system-site-packages
заставляет мой virtualenv полностью использовать каталог site-packages из моей системы вместо использования его в качестве «базы», где другие пакеты могут быть размещены сверху.
В этом ответе говорится, что использование pip install -I
должно делать то, что я хочу, но это не так:
(venv) $ pip3 install -I bitstring
...
error: could not create '/usr/lib/python3.4/site-packages/bitstring.py': Permission denied