Une autre alternative consiste à télécharger le fichier avec apt-get download
, à l'extraire avec dpkg -x
et à déplacer les fichiers extraits vers votre virtualenv:
Exemple:
apt-get download python-xyz
supposons que cela se traduit par:
./python-xyz_1.2.3-3ubuntu5_amd64.deb
Ensuite, utilisez dpkg pour extraire la partie données du fichier .deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
Dans le ./xyz-tmp
répertoire nouvellement créé , vous avez maintenant tous les fichiers qui auraient été installés sur /
(root) si vous aviez utilisé apt-get install
.
Supposons qu'ils soient:
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz/
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz-1.2.3.egg-info
Vous devez toujours mapper les sous-répertoires (par exemple, dist-packages
vs. site-packages
) et pouvez ensuite déplacer les fichiers dans votre virtualenv (en supposant un virtualenv /home/user/.virtualenvs/py27
):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
Par rapport à ma réponse précédente, cette approche a l'avantage que vous n'avez pas à rechercher les fichiers installés, car vous pouvez les voir dans le répertoire d'extraction. Il nécessite toujours un mappage de répertoires entre l'archive extraite et virtualenv.