Outra alternativa é baixar o arquivo com apt-get download
, extraí-lo com dpkg -x
e 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 de dados do arquivo .deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
No diretório ./xyz-tmp
recém-criado, você agora tem todos os arquivos que seriam instalados em /
(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
Ainda é necessário mapear os subdiretórios (por exemplo, dist-packages
vs. site-packages
) e, em seguida, mover os arquivos para o virtualenv (supondo um virtualenv /home/user/.virtualenvs/py27
):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
Em comparação com a minha resposta anterior, essa abordagem tem a vantagem de não precisar pesquisar quais arquivos foram instalados, porque você pode vê-los no diretório de extração. Ainda requer um mapeamento de diretórios entre o arquivo extraído e o virtualenv.