อีกทางเลือกหนึ่งคือการดาวน์โหลดไฟล์apt-get download, แยกมันด้วยdpkg -xและย้ายไฟล์ที่แตกไปยัง virtualenv ของคุณ:
ตัวอย่าง:
apt-get download python-xyz
ถือว่าผลลัพธ์นี้เป็น:
./python-xyz_1.2.3-3ubuntu5_amd64.deb
จากนั้นใช้ dpkg เพื่อแยกส่วนข้อมูลของไฟล์. deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
ใน./xyz-tmpไดเรกทอรีที่สร้างขึ้นใหม่ตอนนี้คุณมีไฟล์ทั้งหมดที่คุณได้ติดตั้งไว้/(root) apt-get installแล้ว
สมมติว่าพวกเขาคือ:
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz/
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz-1.2.3.egg-info
คุณยังคงต้องแมปไดเรกทอรีย่อย (เช่นdist-packagesvs. site-packages) และจากนั้นสามารถย้ายไฟล์ไปยัง virtualenv ของคุณ (สมมติว่า virtualenv /home/user/.virtualenvs/py27):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
เปรียบเทียบกับคำตอบก่อนหน้าของฉันวิธีการนี้มีข้อดีที่คุณไม่ต้องค้นคว้าว่าไฟล์ใดได้ติดตั้งไว้เพราะคุณสามารถดูได้ในไดเรกทอรีการแยก มันยังคงต้องการการแมปไดเรกทอรีระหว่างการแยกเก็บถาวรและ virtualenv