python django webapp 打包 sdist
python django webapp packaging sdist
当我运行python setup.py sdist
在我的项目目录中并使用 tar --list -f .\dist\my_project_name-1.0.tar.gz
检查内容 我希望看到一个重要的 python 文件 (manage.py
) 和几个目录,例如 templates
其中包含 .html 文件,以及 static
包含 .css 文件。但是,tar 存档中都缺少这些文件。
我看了很多问题: Q3 Q4
但添加 MANIFEST.in
或将以下行添加到我的 setup.py
没有改变任何东西。那我的 manage.py
呢? python 文件不应该默认包含在 sdist
中吗?
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
得到了完全相同的结果(尽管我不确定这两个命令有什么区别)。
what about my manage.py? Shouldn't python files be included by default with sdist?
不,默认情况下不会包含所有 python 文件。 setup.py
的另一个重要部分是 packages
和 py_modules
关键字。您必须指定 所有 个包 和 个您要包含的子包和模块。
一般来说,Django 应用程序不随 manage.py 文件一起分发,但如果你想包含它,你可以将 py_modules=['manage']
添加到设置关键字中(假设 manage.py
在 setup.py
).
旁边
要让您构建的发行版包含数据文件,例如您的模板和静态文件,您的 MANIFEST.in
需要包含它们。您应该添加如下条目:
recursive-include my_app/templates *
recursive-include my_app/static *
不需要data_files
关键字。只需使用 include_package_data=True
它就会尊重你的 MANIFEST.in
.
Also, I get the same exact result with python setup.py sdist bdist_wheel
sdist
(源代码分发)和bdist_wheel
(wheel 二进制分发)只是不同的分发格式。
因此,与第一个命令相比,您只是告诉它构建源代码分发和一个轮子。添加 bdist_wheel
不会修改源分发的构建方式。
当我运行python setup.py sdist
在我的项目目录中并使用 tar --list -f .\dist\my_project_name-1.0.tar.gz
检查内容 我希望看到一个重要的 python 文件 (manage.py
) 和几个目录,例如 templates
其中包含 .html 文件,以及 static
包含 .css 文件。但是,tar 存档中都缺少这些文件。
我看了很多问题:
但添加 MANIFEST.in
或将以下行添加到我的 setup.py
没有改变任何东西。那我的 manage.py
呢? python 文件不应该默认包含在 sdist
中吗?
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
得到了完全相同的结果(尽管我不确定这两个命令有什么区别)。
what about my manage.py? Shouldn't python files be included by default with sdist?
不,默认情况下不会包含所有 python 文件。 setup.py
的另一个重要部分是 packages
和 py_modules
关键字。您必须指定 所有 个包 和 个您要包含的子包和模块。
一般来说,Django 应用程序不随 manage.py 文件一起分发,但如果你想包含它,你可以将 py_modules=['manage']
添加到设置关键字中(假设 manage.py
在 setup.py
).
要让您构建的发行版包含数据文件,例如您的模板和静态文件,您的 MANIFEST.in
需要包含它们。您应该添加如下条目:
recursive-include my_app/templates *
recursive-include my_app/static *
不需要data_files
关键字。只需使用 include_package_data=True
它就会尊重你的 MANIFEST.in
.
Also, I get the same exact result with python setup.py sdist bdist_wheel
sdist
(源代码分发)和bdist_wheel
(wheel 二进制分发)只是不同的分发格式。
因此,与第一个命令相比,您只是告诉它构建源代码分发和一个轮子。添加 bdist_wheel
不会修改源分发的构建方式。