15

我是新手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

Impossible de supprimer 意味着无法擦除。

我对这台电脑没有根访问权限。我认为这台电脑上默认安装的 python 包和virtualenv我正在创建的包之间存在冲突。

我该如何解决这个问题?

4

2 回答 2

18

这是我用来在我的 virtualenv 中安装 sip 的步骤。诀窍是确保您使用 (undocumented?)--always-copy标志,以便它不只是将目录符号链接到您的./usr/include/python2.7virtualenv

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)
于 2014-02-23T20:45:33.200 回答
7

确保您的 virtualenv 处于活动状态。安装 pyenv 和 pyenv-virtualenv 后,您可以快速执行这些命令。

我刚刚在新创建的 virtualenv 上成功安装了 SIP 和 PyQt4:

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 页面并在工作文件夹中获取最新版本,解压缩它,然后您就可以再次使用 configure/make/make install 进行安装了。

通过在 python 交互式会话中导入一些 PyQt4 包来测试:

>>> from PyQt4 import QtCore, QtGui
于 2013-11-14T09:43:31.677 回答