gpt4 book ai didi

python - 在包含数据文件的构建环境中安装 python egg

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:20 28 4
gpt4 key购买 nike

这个问题假定我要安装的 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 上的链接获得。

鸡蛋 normal-python-packagepython-package-with-data-files 已成功安装在 eggs/ 目录中。因为 python-package-with-data-files 在其 setup.py 文件中将 zip_safe 设置为 False可以在 eggs/ 中解压缩。

只有 python-package-with-data-files 的非 .py 文件在 eggs/ 解压后的 egg 中不可用(它们包含在 .tar.gz 包中,可在 http://domain-to-python-package-with-data-files).

如何将这些数据文件包含在 egg 中?我需要更改包的 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

最佳答案

听起来您需要使用 package_data keyword argument在您的 setup.py 文件中,因此 distutils 知道这些文件应该与您的包一起安装。

关于python - 在包含数据文件的构建环境中安装 python egg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2288533/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com