diff options
author | Philipp Albrecht <palbrecht@mailbox.org> | 2023-07-06 10:25:19 +0200 |
---|---|---|
committer | Philipp Albrecht <palbrecht@mailbox.org> | 2023-07-12 10:46:46 +0200 |
commit | 0781e0d04671cebca7ed68a35892083de1052e21 (patch) | |
tree | 5b0a5e65146407602461cb73a22fe21c149c3300 | |
parent | 8da62bcbf4e90cc3952decf72b6798540f4b9d10 (diff) | |
download | qutebrowser-0781e0d04671cebca7ed68a35892083de1052e21.tar.gz qutebrowser-0781e0d04671cebca7ed68a35892083de1052e21.zip |
Include namespace packages in setuptools build
Building qutebrowser showed some warnings as the following:
```
/tmp/build-env-4jb2oh0t/lib/python3.8/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'qutebrowser.html' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'qutebrowser.html' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'qutebrowser.html' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'qutebrowser.html' to be distributed and are
already explicitly excluding 'qutebrowser.html' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
```
Using `find_namespace_packages()` as suggested in the setuptools docs[1] solved the issue.
[1] https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#finding-namespace-packages
-rwxr-xr-x | setup.py | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -64,7 +64,7 @@ def _get_constant(name): try: common.write_git_file() setuptools.setup( - packages=setuptools.find_packages(exclude=['scripts', 'scripts.*']), + packages=setuptools.find_namespace_packages(), include_package_data=True, entry_points={'gui_scripts': ['qutebrowser = qutebrowser.qutebrowser:main']}, |