python编译出现问题gmake[1]: *** 正在等待未完成的任务....
-
在编译micro-ROS-Agent和msgs时出现这个问题,疑似是python的,之前也编译过没有问题,在安装yolov5后编译出现问题,不知道有没有关系
lwb@Lwb:~/code/fishbot_ws$ colcon build
Starting >>> micro_ros_msgs
--- stderr: micro_ros_msgs
Traceback (most recent call last):
File "/home/lwb/code/fishbot_ws/build/micro_ros_msgs/ament_cmake_python/micro_ros_msgs/setup.py", line 4, in <module>
setup(
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/init.py", line 117, in setup
return distutils.core.setup(**attrs)
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 186, in setup
return run_commands(dist)
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
dist.run_commands()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 983, in run_commands
self.run_command(cmd)
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/dist.py", line 999, in run_command
super().run_command(command)
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
cmd_obj.run()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 312, in run
self.find_sources()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 320, in find_sources
mm.run()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 548, in run
self.prune_file_list()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/command/sdist.py", line 162, in prune_file_list
super().prune_file_list()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py", line 380, in prune_file_list
base_dir = self.distribution.get_fullname()
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_core_metadata.py", line 272, in get_fullname
return _distribution_fullname(self.get_name(), self.get_version())
File "/home/lwb/.local/lib/python3.10/site-packages/setuptools/_core_metadata.py", line 290, in _distribution_fullname
canonicalize_version(version, strip_trailing_zero=False),
TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
gmake[2]: *** [CMakeFiles/ament_cmake_python_build_micro_ros_msgs_egg.dir/build.make:70:CMakeFiles/ament_cmake_python_build_micro_ros_msgs_egg] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:447:CMakeFiles/ament_cmake_python_build_micro_ros_msgs_egg.dir/all] 错误 2
gmake[1]: *** 正在等待未完成的任务....
gmake: *** [Makefile:146:all] 错误 2Failed <<< micro_ros_msgs [0.67s, exited with code 2]
Summary: 0 packages finished [0.80s]
1 package failed: micro_ros_msgs
1 package had stderr output: micro_ros_msgs
1 package not processed -
https://blog.csdn.net/qq_38196449/article/details/143998597
已经成功了,就是那个yolo5的问题,pip install setuptools==64后就行了 -
从你提供的错误信息来看,问题出现在
micro_ros_msgs
包的编译过程中,特别是与 Python 的 setuptools 库相关。错误提示TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
表明canonicalize_version
函数被调用时传入了一个它不支持的关键字参数strip_trailing_zero
。这个问题很可能是由于 setuptools 的版本更新导致的 API 变化。在某些版本的 setuptools 中,
canonicalize_version
函数可能不再接受strip_trailing_zero
参数。解决步骤
-
检查 setuptools 版本:
查看当前 setuptools 的版本,并对比之前的版本(如果之前编译成功时你记得版本的话)。pip show setuptools
-
尝试降级 setuptools:
如果当前版本较高,可以尝试降级到一个之前工作正常的版本。根据错误提示,可能是在更新 setuptools 后出现了问题。pip install setuptools==<旧版本号>
你需要替换
<旧版本号>
为之前工作正常的版本,比如58.0.4
(这个版本号仅为示例,你需要根据实际情况选择)。 -
清理并重新编译:
在修改了 setuptools 版本后,清理之前的编译结果,并重新编译整个项目。cd ~/code/fishbot_ws rm -rf build install log colcon build
-
检查 Python 和 pip 版本:
确保你的 Python 和 pip 版本与你的项目依赖兼容。有时候,Python 的更新也会带来兼容性问题。 -
查看依赖关系:
如果问题依旧存在,检查micro_ros_msgs
的依赖是否都正确安装,并且版本兼容。 -
查阅文档和社区:
查看 micro-ROS 的官方文档或者社区,看看是否有其他人遇到并解决了类似的问题。
通过上述步骤,你应该能够定位并解决问题。如果问题依然存在,可能需要更详细地检查代码或配置,或者考虑在相关的开发社区中寻求帮助。
以上为生成回答,仅供参考~
-
-
@2075605318 大概率是setup版本造成问题,ubuntu22 用 68.0.0 试一试,按照小伊的提示安装
-
https://blog.csdn.net/qq_38196449/article/details/143998597
已经成功了,就是那个yolo5的问题,pip install setuptools==64后就行了 -
小 小鱼 将这个主题标记为已解决