Как установить SIP и PyQt в виртуальной среде?

Я новичок в virtualenv. Я хочу установить spyder, для которого требуется PyQt4, для которого требуется SIP.

pip не работает, поэтому я загрузил SIP и выполнил следующие команды:

python configure.py
make
make install

Но я получил эту ошибку:

make[1]: entrant dans le répertoire « /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/build/SIP/sipgen »
cp -f sip /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/bin/sip
make[1]: quittant le répertoire « /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/build/SIP/sipgen »
make[1]: entrant dans le répertoire « /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/build/SIP/siplib »
cp -f sip.so /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/lib/python2.7/site-packages/sip.so
strip /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/lib/python2.7/site-packages/sip.so
cp -f /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/build/SIP/siplib/sip.h /usr/local/python/include/python2.7/sip.h
cp: impossible de supprimer « /usr/local/python/include/python2.7/sip.h »: Permission non accordée
make[1]: *** [install] Erreur 1
make[1]: quittant le répertoire « /stck2/stck2.2/ptoniato/python/pip/virtualenv-1.10.1/provaenv/build/SIP/siplib »
make: *** [install] Erreur 2

Невозможное средство supprimer Невозможно стереть.

У меня нет доступа root к этому компьютеру. Я думаю, что существует конфликт между пакетом python, который установлен по умолчанию на этом компьютере и virtualenv, который я создаю.

Как я могу решить проблему?

Ответы

Ответ 1

Вот шаги, которые я использовал для установки sip в моем virtualenv. Фокус в том, чтобы убедиться, что вы используете флаг (недокументированный?) --always-copy, так что он не просто символизирует каталог /usr/include/python2.7 в вашем virtualenv.

virtualenv --always-copy ve
. ve/bin/activate
wget http://sourceforge.net/projects/pyqt/files/sip/sip-4.15.4/sip-4.15.4.zip
unzip sip-4.15.4.zip
cd sip-4.15.4
python configure.py --incdir=../ve/include/python2.7
make
make install
cd ..

Затем я смог установить PyQt4 следующим образом:

wget http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.10.3/PyQt-x11-gpl-4.10.3.tar.gz
tar zxvf PyQt-x11-gpl-4.10.3.tar.gz
cd PyQt-x11-gpl-4.10.3
python configure.py
make
make install

Это дало ошибку в конце, но оно было проигнорировано. Я думаю, что это всего лишь часть установки "конструктора", которая не критична.

install: cannot create regular file `/usr/lib/x86_64-linux-gnu/qt4/plugins/designer/libpyqt4.so': Permission denied
make[1]: [install_target] Error 1 (ignored)

Ответ 2

убедитесь, что у вас активен ваш virtualenv. При установке как pyenv, так и pyenv-virtualenv вы можете быстро выполнить следующие команды.

Я только что успешно установил SIP и PyQt4 на вновь созданный virtualenv:

pyenv virtualenv testenvironment
pyenv rehash
pyenv shell testenvironment
cd ~/.pyenv/versions/testenvironment/
pip install --no-install sip #fails but do not worry
cd build/sip/
python configure.py #--incdir=~/.pyenv/versions/testenvironment/include/python2.7 may be needed
make
make install
cd ../../

Затем вы готовы загрузить и установить PyQt4. Вы должны это сделать вручную. Перейдите на страницу PyQt4 и получите последней версии в рабочей папке, распакуйте ее, и вы готовы к работе снова с настройкой /make/make install.

Проверьте, импортируете ли некоторые пакеты PyQt4 в интерактивный сеанс python:

>>> from PyQt4 import QtCore, QtGui