Đóng gói dự án python dựa trên virtualenv

Chào mọi người, mình đang tìm hiểu về cách đóng gói dự án, cụ thể ở đây là Python.
Có nghĩa là, mình có 2 máy cài python, máy 1 của mình chạy dự án thì mình cài các gói thêm như numpy, sklearn, pandas, …, trong khi máy 2 thì chỉ mới cài python. Vấn đề là máy 2 không có mạng nên có cách nào để trên máy 1 mình tạo một môi trường ảo, sau đem sang máy 2 thì nó chạy được luôn mà không cần cài cắm thêm gì không?
Cảm ơn mọi người

Virtualenv dùng để tạo isolated environment chứ không dùng để đóng gói Python.

Thư viện Python có thể cài offline bằng cách download Wheel packaging rồi dùng command:

pip install filename.whl

Một số thư viện whl bạn có thể download cho windows: https://www.lfd.uci.edu/~gohlke/pythonlibs/

1 Like

Cảm ơn bạn. như vậy là không có cách nào để mình copy nguyên 1 cái virtualenv sang máy khác được sao?
Mình có 2 máy đều cài python, mình tạo một virtualenv trên 1 máy , active nó lên và cài cắm trong virtualenv này. Nhưng khi copy sang máy kia thì active virtualenv này nó không nhận. Mình đang thắc mắc chỗ này

Bạn có thể, nhưng không có gì đảm bảo những thư viện đó sau này hoạt động chính xác mà không xuất hiện một số lỗi ngớ ngẩn.

1 Like

bạn đóng gói lại thành file exe ấy, bundle tất cả những thứ cần thiết là chạy ngon. File bundle chứa cả python luôn, máy đích chỉ việc chạy

2 Likes

Nếu là đóng gói cho máy linux thì sao bạn? Mình muốn nó chạy trên nhiều nền tảng khác nhau ấy

Đóng gói cho hdh nào thì build trên HĐH đó là xong. Không có tiền mua thì dùng docker mà build cũng được

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?