首頁  >  文章  >  後端開發  >  如何使用 setuptools/distutils 正確包含套件資料?

如何使用 setuptools/distutils 正確包含套件資料?

Susan Sarandon
Susan Sarandon原創
2024-11-03 22:16:03264瀏覽

How to Properly Include Package Data with setuptools/distutils?

使用 setuptools/distutils 包含套件資料

使用 setuptools 設定套件安裝時,合併 package_data 檔案可能會出現困難。本文介紹了正確的方法,並提供了常見問題的解決方案。

不正確的方法

不正確的方法涉及定義package_data 並將include_package_data 設定為True,如下所示在提供的範例中看到:

<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>

正確方法

錯誤方法的問題是package_data 僅在建構二進位套件時使用(例如,python setup .py bdist ...),但在建置來源包時則不然(例如,python setup.py sdist ...)。

正確的方法是使用 MANIFEST.in 指定二進位和來源發行版中包含的檔案。以下是 MANIFEST.in 檔案的範例:

include *.txt
recursive-include myapp/data *

透過使用 MANIFEST.in,您可以確保包含所有必需的套件資料,無論建置的分發類型為何。

以上是如何使用 setuptools/distutils 正確包含套件資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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