当我使用Python包从中生成源分发时
python setup.py sdist --formats=zip
我正在使用MANIFEST.in
文件来指定要包含的其他文件。
到目前为止,我将Sphinx文档的输出作为软件包的一部分包含在内。这可能不是标准做法,但是这些是我团队内部分发的软件包。该文档尚未托管,因此将其与软件包捆绑在一起似乎很容易。
无论如何,我将构建Sphinx文档,然后添加
recursive-include docs/_build/html *
到MANIFEST.in
文件。我在include_package_data=True
文件中也有setup.py
。这给了我一个适合我要求的初始解决方案。
我现在有一台托管文档的服务器。因此,我不再需要将其捆绑在包装中。我从MANIFEST.in
-删除了上面的行,但是文件仍被包含,我不知道为什么...
还有其他一些地方可能会覆盖我不知道的MANIFEST.in
吗?我什至尝试删除并重新添加清单文件而没有任何效果...
setup.py (我已将名称,电子邮件和URL更改为“虚拟”值以在此处发布)
from setuptools import setup
import json
import os
REQUIRED = ["lxml", "jinja2"]
def ver():
with open("meta.json") as meta:
return json.load(meta)["version"]
def readme():
with open("README.txt") as rm:
return rm.read()
setup(name="zfim",
version=ver(),
description="Python API for PTC Integrity IM server",
long_description=readme(),
url="//path/to/repo",
author="...",
author_email="...",
license="MIT",
packages=["zfim"],
install_requires=REQUIRED,
entry_points={
"console_scripts": []
},
dependency_links=["//path/to/local/package_repo"],
zip_safe=True,
include_package_data=True,
classifiers=[
"Programming Language :: Python :: 3",
"Operation System :: Windows"])
MANIFEST.in
include README.txt
include LICENSE.txt
include requirements.txt
include meta.json
答案 0 :(得分:0)
如果我删除了package-name.egg-info
目录,则在重新运行python setup.py sdist
之前,将遵守我对MANIFEST.in
文件所做的任何更改。
这似乎有点hack,但它似乎对我有用。