[英]Install python egg in buildout environment including data files
這個問題假設我要安裝的python包是一個包含模板和媒體文件的django應用程序。 但這個問題對任何不僅包含.py
文件的python包都有效。
我正在使用buildout創建一個可重建的環境,我正在開發一個django項目。 我的buildout.cfg
看起來像這樣:
[buildout]
parts = python
eggs =
normal-python-package
python-package-with-data-files
find-files =
http://domain-to-python-package-with-data-files
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
(和一些django相關的東西)。 python-package-with-data-files
可通過頁面http://domain-to-python-package-with-data-files
。
egg normal-python-package
和python-package-with-data-files
成功安裝在eggs/
目錄中。 因為python-package-with-data-files
在其setup.py
文件中將zip_safe
設置為False
,所以可以在eggs/
壓縮。
只有非.py
的文件python-package-with-data-files
是不是在解壓縮的蛋可用eggs/
(它們都包含在.tar.gz
可在包http://domain-to-python-package-with-data-files
)。
如何將這些數據文件包含在雞蛋中? 我是否需要更改軟件包的setup.py
文件? 或者它是否與建築相關?
我發現的事情如下:
如果我在python-package-with-data-files
根目錄中創建python setup.py sdist
,則所有數據文件都包含在創建的.tar.gz文件中。 但是如果我創建一個python setup.py bdist
它會導致構建而不包含數據文件。
這讓我覺得問題不是特定於擴建。 但也許有一種方法可以告訴buildout不要創建一個bdist
而是一個sdist
來創建egg並將軟件包安裝到項目中。
我該怎么辦? 我是python-package-with-data-files
的維護者,所以我可以在必要時更改setup.py
。
聽起來你需要在setup.py文件中使用package_data關鍵字參數 ,因此distutils知道這些文件應該與你的軟件包一起安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.