Comments (4)
The deprecation warning leaks to other packages down the stack though which utilize colcon-core.
More specifically by testing the latest setuptools version on Fedora, colcon-ros and colcon-notification fails due to colcon-core's pkg_resources import.
from colcon-core.
I've been toying with solutions here.
One challenge is that we have functions in colcon-core
public API which return pkg_resources
classes. This was probably not a great design decision. The corresponding classes in importlib.metadata
are not similar enough to be drop-in replacements, so I think we'll need to introduce some sort of wrapper class that looks like the pkg_resources
classes.
from colcon-core.
Thanks for beginning to think about a way forward here—we're hitting these warnings when testing colcon plugins on Python 3.10 (in Nix). This is how to silence the warnings in pytest, but unfortunately you can't specify the actual package doing the importing, so it's a bit of a blunt instrument:
[tool.pytest.ini_options]
filterwarnings = [
# This is transitively imported by colcon-core.
"ignore::DeprecationWarning:pkg_resources",
]
A further complexifier is that the replacement functionality in importlib
isn't available in Python 3.8, so either the old implementation must also be retained as long as Ubuntu Focal is a target, or else a dependency must be introduced on a pypi package supplying backports of the new functionality, eg:
from colcon-core.
a dependency must be introduced on a pypi package supplying backports of the new functionality
It seems that python3-importlib-metadata
is available for Focal as a deb. It is my intent to declare a dependency on that package conditionally on the interpreter version.
As far as I can tell, it does mean dropping debs for Bionic which reached EOL this past May.
from colcon-core.
Related Issues (20)
- Wildcards in .dsv files
- ERROR:colcon.colcon_core* is declared multiple times HOT 2
- `colcon build` uses the wrong Python version when inside a virtualenvironment on Windows HOT 2
- [bug] additional cmake args after CMAKE_TOOLCHAIN_FILE will clear it HOT 2
- Cache get_extension_points output
- empy version incompatibility HOT 4
- [Question] Correct way to build a ros driver which depends on a library without having to run 'sudo make install' on the library. HOT 6
- Design intent of setup.sh vs setup.bash HOT 4
- Why can data_files destinations not be absolute for ament_python packages? HOT 4
- [Question] Recommended way to invoke colcon on ubuntu noble? / request for release recent colcon in ROS APT ubuntu noble repos HOT 2
- Feature Request: Multiple `build-base` and `install-base` for multiple `base-paths`
- Colcon hangs when stdout / stderr is redirected and output line is longer than default buffer size HOT 2
- Colcon extends LD_LIBARAY_PATH with cross compiled libraries HOT 4
- Package includes directory has subdir of subdir of package name HOT 1
- Install colcon on x86 to cross compile ros2 HOT 4
- Error building after deleting a file: can't copy '<deleted-file> doesn't exist or not a regular file HOT 3
- colcon list Traceback (most recent call last): File "/usr/bin/colcon", line 33, in <module> sys.exit(load_entry_point('colcon-core==0.16.0', 'console_scripts', 'colcon')()) File "/usr/lib/python3/dist-packages/colcon_core/command.py", line 118, in main return _main(command_name=command_name, argv=argv) File "/usr/lib/python3/dist-packages/colcon_core/command.py", line 185, in _main create_log_path(args.verb_name) File "/usr/lib/python3/dist-packages/colcon_core/location.py", line 186, in create_log_path os.makedirs(str(path)) File "/usr/lib/python3.10/os.py", line 225, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: 'log/list_2024-04-06_02-45-22' HOT 2
- colcon returns with success when extension loading fails
- No executable found for scripts when using --symlink-install and install(PROGRAMS) HOT 2
- Torch shared library: libc10.so: cannot open shared object file HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from colcon-core.