Se você instalar o PyQt4 no Windows, os arquivos acabarão aqui por padrão:
C: \ Python27 \ Lib \ site-packages \ PyQt4 *. *
mas também deixa um arquivo aqui:
C: \ Python27 \ Lib \ site-packages \ sip.pyd
Se você copiar as pastas sip.pyd e PyQt4 para o virtualenv, as coisas funcionarão bem.
Por exemplo:
mkdir c:\code
cd c:\code
virtualenv BACKUP
cd c:\code\BACKUP\scripts
activate
Então, com o Windows Explorer, copie do C:\Python27\Lib\site-packages
arquivo (sip.pyd) e da pasta (PyQt4) mencionada acima paraC:\code\BACKUP\Lib\site-packages\
Então, de volta à CLI:
cd ..
(c:\code\BACKUP)
python backup.py
O problema de tentar iniciar um script que chama PyQt4 de dentro do virtualenv é que o virtualenv não tem o PyQt4 instalado e não sabe como fazer referência à instalação padrão descrita acima. Mas siga estes passos para copiar PyQt4 em seu virtualenv e tudo deve funcionar muito bem.