偶然我注意到,Python標準庫的兩個csv
和re
模塊具有其.__version__
屬性:爲什麼在Python標準庫的某些模塊中有__version__字符串?
>>> import re, csv
>>> re.__version__
'2.2.1'
>>> csv.__version__
'1.0'
我很驚訝,因爲他們是標準庫的一部分,所以我希望自己的版本被定義sys.version
(和sys.version_info
)。
我已經注意到儘管模塊已經改變,Python 2.7.13和3.6.1的屬性值都是相同的。
它們只是一種「代碼化石」,或者它們有點意義,程序員應該關注它們的價值嗎?
我想你一個版本的庫混合的Python版本。例如,如果您使用Linux-3.16操作系統,那並不意味着您必須運行Firefox 3才能瀏覽網頁。版本號是* not * global。 –
我想這不是一個答案,而是:*「在個案的基礎上,標準庫模塊也以其他Python版本的獨立形式發佈,如果包含在標準庫中,則可以包含模塊版本號,並且應該包括單獨打包的版本號。「*([source](https://www.python.org/dev/peps/pep-0396/#id25)) – vaultah
此外,標準庫通常是包含特定的版本號。但包裝上的發展仍在繼續。所以你可以決定使用're'構建''版本'也許提供一些實驗性功能,但還沒有完全測試過將它包含在標準庫中。通常,標準庫旨在選擇或多或少*可靠*的高質量包。 –