我想在python egg文件中打包.json文件。
例如:boto包有endpoints.json文件。但是当我运行python setup.py bdist_egg时,它不包含egg中的json文件。如何在蛋中包含Json文件?
如何在鸡蛋中加入* .json文件?
以下是setup.py代码
from setuptools import setup, find_packages, Extension
setup(
name='X-py-backend',
version='tip',
description='X Python backend tools',
author='meme',
packages=find_packages('python'),
package_dir={'': 'python'},
data_files=[('boto', ['python/boto/endpoints.json'])],
namespace_packages = ['br'],
zip_safe=True,
)
setup(
name='X-py-backend',
version='tip',
packages=find_packages('protobuf/target/python'),
package_dir={'': 'protobuf/target/python'},
namespace_packages = ['br'],
zip_safe=True,
)
答案 0 :(得分:9)
您只需要在data_files
参数上列出该文件。这是一个例子。
setup(
name='X-py-backend',
version='tip',
description='XXX Python backend tools',
author='meme',
packages=find_packages('python'),
package_dir={'': 'python'},
data_files=[('boto', ['boto/*.json'])]
namespace_packages = ['br'],
zip_safe=True
)
您可以在此处查看详细信息。 https://docs.python.org/2/distutils/setupscript.html#installing-additional-files
另一种方法是使用MANIFEST.in
个文件。您需要在项目根目录中创建MANIFEST.in
文件。这是一个例子。
include python/boto/endpoints.json
请访问此处获取更多信息。https://docs.python.org/2/distutils/sourcedist.html#manifest-template
答案 1 :(得分:1)
这对我有用。
setup.py
:
from setuptools import setup, find_packages
setup(
name="clean",
version="0.1",
description="Clean package",
packages=find_packages() + ['config'],
include_package_data=True
)
MANIFEST.in
:
recursive-include config *
在项目根目录下有一个配置文件,其中包含一堆json
文件。
希望这会有所帮助。