Add PyQt4 on virtualenv Python


If we want to make PyQt4 accessible from virtualenv, we can put this scripts into “~/.virtualenvs/postmkvirtualenv”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
# This hook is run after a new virtualenv is activated.
LIBS=( PyQt4 sip.so )

PYTHON_VERSION=python$(python -c "import sys; print (str(sys.version_info[0])+’.’+str(sys.version_info[1]))")
VAR=( $(which -a $PYTHON_VERSION) )

GET_PYTHON_LIB_CMD="from distutils.sysconfig import get_python_lib; print (get_python_lib())"
LIB_VIRTUALENV_PATH=$(python -c "$GET_PYTHON_LIB_CMD")
LIB_SYSTEM_PATH=$(${VAR[-1]} -c "$GET_PYTHON_LIB_CMD")

for LIB in ${LIBS[@]}
do
    ln -s $LIB_SYSTEM_PATH/$LIB $LIB_VIRTUALENV_PATH/$LIB
done

2. Copy sip.so into your virtualenv site-packages

1
cp /usr/lib64/python2.7/site-packages/sip.so ~/.virtualenvs/hn/lib64/python2.7/site-packages/

3. Last thing if still doesnt works
Copy the PyQt4 folder :

1
cp -dR /usr/lib64/python2.7/site-packages/PyQt4 ~/.virtualenvs/django/lib/python2.7/site-packages/

On Ubuntu:

1
2
3
sudo apt-get install python-qt4
cp /usr/lib/python2.7/dist-packages/PyQt4 ~/.virtualenvs/django/lib/python2.7/site-packages/
cp /usr/lib/python2.7/dist-packages/PyQt4 ~/.virtualenvs/django/lib/python2.7/site-packages/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.