Outra alternativa é baixar o arquivo com apt-get download, extraí-lo com dpkg -xe mover os arquivos extraídos para o seu virtualenv:
Exemplo:
apt-get download python-xyz
assuma que isso resulta em:
./python-xyz_1.2.3-3ubuntu5_amd64.deb
Em seguida, use o dpkg para extrair a parte dos dados do arquivo .deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
No ./xyz-tmpdiretório recém-criado , agora você tem todos os arquivos que teriam sido instalados no /(root) se você tivesse usado apt-get install.
Suponha que eles sejam:
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz/
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz-1.2.3.egg-info
Você ainda precisa mapear os subdiretórios (por exemplo, dist-packagesvs. site-packages) e pode mover os arquivos para o seu virtualenv (assumindo um virtualenv /home/user/.virtualenvs/py27):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
Comparado à minha resposta anterior, essa abordagem tem a vantagem de não ser necessário pesquisar quais arquivos foram instalados, porque você pode vê-los no diretório de extração. Ele ainda requer um mapeamento de diretórios entre o archive extraído e o virtualenv.