我知道C或C++中靜態和動態鏈接的區別。但在Python中意味着什麼?既然它只是一個解釋器,並且只有一種模塊的導入機制,那麼這是如何有意義的呢?在Python中靜態鏈接和動態鏈接意味着什麼?
如果我用cx_freeze通過排除特定庫來凍結我的Python應用程序,它是一種動態鏈接嗎?因爲用戶必須自行下載並安裝該庫才能運行我的應用程序。
其實我的問題是,我正在使用PySide庫(與LGPL v2.1)來開發Python GUI應用程序。圖書館說我應該動態鏈接到圖書館,以遵守他們的法律條款(與Qt相同)。在這種情況下,我如何動態鏈接到PySide?
我想任何你通常會使用PySide算作動態鏈接的方式,即使它是同一下載的一部分。如果你構建了一個單獨的文件exe(cx_Freeze根本就不行),有些人可能會調用這個靜態鏈接,但我認爲大多數人仍然不會。繼續使用它 - 人們可以在那裏構建Python應用程序,所以如果這就是你正在做的事情,那麼你可能沒問題。 –
謝謝托馬斯。 你的意思是,即使我構建單個文件的exe(使用pyinstaller或其他),它仍然是動態鏈接?如果可以,我可以繼續使用一個簡單的自述文件來下載pyside源文件。是嗎? – Kaje
我想大多數人會說這仍然是動態鏈接,你提出的建議應該沒問題。如果你擔心,可以問[PySide郵件列表](http://lists.qt-project.org/mailman/listinfo/pyside) - 這是他們的解釋,這很重要。但是如果他們認爲這樣做不夠好,我會很驚訝。 –