Một cách khác là tải xuống tệp với apt-get download
, giải nén nó dpkg -x
và di chuyển các tệp được giải nén vào virtualenv của bạn:
Thí dụ:
apt-get download python-xyz
giả sử kết quả này trong:
./python-xyz_1.2.3-3ubuntu5_amd64.deb
Sau đó, sử dụng dpkg để trích xuất phần dữ liệu của tệp .deb:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
Trong thư mục mới được tạo ./xyz-tmp
, bây giờ bạn có tất cả các tệp đã được cài đặt vào /
(root) mà bạn đã sử dụng apt-get install
.
Giả sử họ là:
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz/
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz-1.2.3.egg-info
Bạn vẫn cần ánh xạ các thư mục con (ví dụ dist-packages
so với site-packages
) và sau đó có thể di chuyển các tệp vào virtualenv của bạn (giả sử là virtualenv /home/user/.virtualenvs/py27
):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
So với câu trả lời trước đây của tôi, phương pháp này có ưu điểm là bạn không phải nghiên cứu tệp nào đã được cài đặt, bởi vì bạn có thể thấy chúng trong thư mục giải nén. Nó vẫn yêu cầu ánh xạ các thư mục giữa kho lưu trữ được trích xuất và virtualenv.