【发布时间】:2021-10-23 20:04:14
【问题描述】:
当我运行python setup.py sdist
在我的项目目录中并使用tar --list -f .\dist\my_project_name-1.0.tar.gz 检查内容我希望看到一个重要的python 文件(manage.py)和几个目录,例如包含.html 文件的templates 和包含.css 文件的static。但是,这些文件都从 tar 存档中丢失。
但添加MANIFEST.in 或将以下行添加到我的setup.py
没有改变任何东西。我的manage.py 呢? sdist默认不应该包含python文件吗?
include_package_data=True,
data_files=[('templates','my_app/templates/my_app/*.html']),
('static', ['my_app/static/my_app/static/css/*.css'])]
另外,我得到与python setup.py sdist bdist_wheel 完全相同的结果(虽然我不确定这两个命令有什么区别)。
【问题讨论】:
-
不,默认情况下不会包含所有 python 文件。
setup.py的另一个重要部分是packages和py_modules关键字。您必须指定所有 包和 要包含的子包和模块。你能显示你的MANIFEST.in和完整的setup.py的内容吗?存储库布局也可能有所帮助。
标签: python django packaging sdist