個人而言,我認爲分發.py文件會更好,因爲這些文件會由最終用戶自己的python編譯,而python可能會進行更多修補。爲商業的,封閉源代碼的python模塊分發.pyc文件與.py文件
對於商業化的閉源python模塊,分發.pyc文件和.py文件有什麼優點和缺點?
換句話說,是否有任何令人信服的理由來分發.pyc文件?
編輯:特別是,如果.py/.pyc附帶了針對特定版本的Python編譯的DLL/SO模塊。
個人而言,我認爲分發.py文件會更好,因爲這些文件會由最終用戶自己的python編譯,而python可能會進行更多修補。爲商業的,封閉源代碼的python模塊分發.pyc文件與.py文件
對於商業化的閉源python模塊,分發.pyc文件和.py文件有什麼優點和缺點?
換句話說,是否有任何令人信服的理由來分發.pyc文件?
編輯:特別是,如果.py/.pyc附帶了針對特定版本的Python編譯的DLL/SO模塊。
如果您的專有位位於二進制DLL或SO內,那麼在使接口層爲.pyc
(而不是.py
)中沒有實際價值。你可以把它們放在一起,或者把它作爲一個未編譯的python文件分發。我不知道分發編譯的python文件的任何理由。在許多情況下,構建環境將它們視爲過時的副產品並將其清理出來,以便您的程序可能會消失。
您應該知道,有開源和專有的反編譯器將Python字節碼轉換爲Python源代碼。其中一個例子是Mysterie's uncompyle2
此外,.pyc
文件不是橫版安全,所以有比超過.py
分配.pyc
受益更多的麻煩。
是的,我知道。我想我真的問問有沒有人有一個令人信服的理由來分發.pyc文件?我想不出任何! – bluedog
@bluedog:請閱讀我答案的最後一行。它應該可能回答你的問題。 – Abhijit
這是一個很好的觀點。我應該提到,所討論的模塊伴隨着一個DLL/SO,當然,它與Python的一個版本綁定在一起。如果這是相關的。 – bluedog