首頁  >  文章  >  後端開發  >  如何使用 setuptools/distutils 確保您的套件資料包含在二進位和來源發行版中?

如何使用 setuptools/distutils 確保您的套件資料包含在二進位和來源發行版中?

Linda Hamilton
Linda Hamilton原創
2024-10-31 06:13:02420瀏覽

How to Ensure Your Package Data Is Included in Both Binary and Source Distributions Using setuptools/distutils?

使用setuptools/distutils 克服套件資料包含挑戰

將套件資料合併到可分發的Python 套件中通常會帶來挑戰,特別是在使用setuptools 或distutils 時。儘管遵循傳統智慧,但一些用戶在讓安裝程式檢索所需文件時遇到困難。

package_data 的陷阱

問題中提供的配置:

<code class="python">setup(
   name='myapp',
   packages=find_packages(),
   package_data={
      'myapp': ['data/*.txt'],
   },
   include_package_data=True,
   zip_safe=False,
   install_requires=['distribute'],
)</code>

出現根據既定文件正確。然而,正如答案敏銳地指出的那樣,這種方法在處理二進位建置時存在不足(python setup.py bdist ...)。在這種情況下,不使用 package_data 機制。

解決方案:MANIFEST.in

為了在二進位和來源發行版中可靠地包含套件數據,MANIFEST.in 檔案提供了一個強大的替代方案。 MANIFEST.in 是一個可自訂的清單,它明確列出了要合併到套件中的檔案。透過使用此方法,開發人員可以確保所有必要的資料都存在於兩種安裝場景中。

以上是如何使用 setuptools/distutils 確保您的套件資料包含在二進位和來源發行版中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn