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 dos dados do arquivo .deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
No ./xyz-tmp
diretó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-packages
vs. 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.