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/ |