อีกทางเลือกหนึ่งคือการดาวน์โหลดไฟล์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-packages
vs. 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