Tôi biết sự khác biệt giữa liên kết tĩnh và động trong C hoặc C++. Nhưng nó có ý nghĩa gì trong Python? Vì nó chỉ là một thông dịch viên, và chỉ có một kiểu cơ chế nhập khẩu của các mô-đun, điều này có ý nghĩa như thế nào?Có nghĩa là gì khi liên kết tĩnh và liên kết động trong Python?
Nếu tôi đóng băng ứng dụng Python bằng cx_freeze bằng cách loại trừ một thư viện cụ thể, đó có phải là loại liên kết động không? Bởi vì, người dùng phải tự tải xuống và cài đặt thư viện đó để chạy ứng dụng của tôi.
Thực ra vấn đề của tôi là, tôi đang sử dụng thư viện PySide (với LGPL v2.1) để phát triển ứng dụng GUI của Python. Thư viện nói rằng tôi nên liên kết động với thư viện để tuân theo các điều khoản pháp lý của họ (giống như Qt). Trong trường hợp này, làm thế nào để tôi liên kết với PySide động?
Tôi nghĩ bất kỳ cách nào bạn thường sử dụng tính năng PySide là liên kết động, ngay cả khi đó là một phần của cùng một tải xuống. Nếu bạn xây dựng một file exe duy nhất (mà cx_Freeze không làm anyway), một số người có thể gọi đó là liên kết tĩnh, nhưng tôi nghĩ rằng hầu hết vẫn không. Đi trước và sử dụng nó - nó có cho mọi người để xây dựng các ứng dụng Python, vì vậy nếu đó là những gì bạn đang làm, bạn có lẽ tốt. –
Cảm ơn bạn Thomas. Bạn có nghĩa là, ngay cả khi tôi xây dựng một tệp exe đơn lẻ (sử dụng pyinstaller hoặc bất kỳ thứ gì), nó vẫn là liên kết động? Nếu sau đó tôi có thể tiếp tục với một tệp readme đơn giản để hướng dẫn nơi tải xuống các nguồn pyside. Là nó? – Kaje
Tôi nghĩ hầu hết mọi người sẽ nói rằng đó vẫn là liên kết động và những gì bạn đề xuất sẽ ổn. Nếu bạn lo lắng, hãy hỏi [Danh sách gửi thư PySide] (http://lists.qt-project.org/mailman/listinfo/pyside) về nó - đó là cách giải thích của họ rất quan trọng. Nhưng tôi sẽ rất ngạc nhiên nếu họ nghĩ điều đó không đủ tốt. –