我正在 PyPi 上發布一個支持 Python 3.6+ 的包,并且希望構建盡可能少的輪子。我已經閱讀了Python 的輪子包裝系統,并以NumPy 項目為例。閱讀PEP 513和PEP 571也很有見地。問題來了:為什么輪子前向與 Python 小版本更改不兼容?例如,從 3.5 升級到 3.6 會帶來 f-strings。但似乎用 Python 3.5(不使用 f-strings)構建的輪子應該能夠在 Python 3.6 環境中正常運行。這里有什么問題?
1 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
以 2 和 3 兼容的方式用純 Python 編寫的代碼可以在通用輪中發布。一個適合所有 Python 版本的輪子。示例:https ://pypi.org/project/SQLObject/#files
但是,包含用 C 編寫的模塊的項目必須針對每個平臺(處理器架構和 32/64 位)、操作系統和 Python 版本單獨發布,因為 C 代碼必須以不同的方式編譯。示例:https ://pypi.org/project/Cheetah3/#files
PS。完全披露:我是用作示例的兩個項目的維護者。
添加回答
舉報
0/150
提交
取消