Alternatif lain adalah mengunduh file dengan apt-get download
, mengekstraknya, dpkg -x
dan memindahkan file yang diekstrak ke virtualenv Anda:
Contoh:
apt-get download python-xyz
anggap ini menghasilkan:
./python-xyz_1.2.3-3ubuntu5_amd64.deb
Lalu, gunakan dpkg untuk mengekstrak bagian data dari file .deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
Di ./xyz-tmp
direktori yang baru dibuat , Anda sekarang memiliki semua file yang akan diinstal ke /
(root) seandainya Anda menggunakan apt-get install
.
Asumsikan mereka adalah:
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz/
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz-1.2.3.egg-info
Anda masih perlu memetakan subdirektori (mis. dist-packages
Vs. site-packages
), dan kemudian dapat memindahkan file ke virtualenv Anda (dengan asumsi virtualenv /home/user/.virtualenvs/py27
):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
Dibandingkan dengan jawaban saya sebelumnya, pendekatan ini memiliki keuntungan bahwa Anda tidak perlu meneliti file mana yang diinstal, karena Anda dapat melihatnya di direktori ekstraksi. Itu masih membutuhkan pemetaan direktori antara arsip yang diekstraksi dan virtualenv.