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

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