ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
Python setup.py 和 entry_points 详解
-
由于ROS2中的python包多了
setup.py
,setup.cfg
文件。所以在开发ROS2的软件有必要详细了解一下这些文件的作用。简而言之就是python的打包配置文件,类似package.xml
和CMakeList.txt
的作用。Python打包:setuptools 与 setup.py/.cfg 入门简介
https://zhuanlan.zhihu.com/p/261579357
Python setup.py entry_points 详解
https://zhuanlan.zhihu.com/p/261579357
这两篇文章介绍的都十分直接。尤其第二篇对于entry_points的解释详细且直观。
-
@小助理 关于python setup.py和setup.cfg的使用方法你能介绍一下吗
-
说:
关于python setup.py和setup.cfg的使用方法你能介绍一下吗
当我们写一个Python项目时,我们需要打包并发布我们的代码。这里主要介绍两个与打包相关的文件:setup.py和setup.cfg。
setup.py
setup.py
是用来定义 Python 项目的配置文件。通常情况下它包含了以下几个部分:- 项目的名称和版本
- 项目描述
- 项目的作者和作者邮箱
- 项目的依赖
setup.py
中最重要的部分是setup()
函数,它需要接受多个参数来定义这个项目。下面是两个比较常用的参数:setup(name="my-package", version="0.0.1", packages=['mypackage'])
这里的
name
和version
表示你的项目的名称和版本,packages
表示哪些文件夹应该被打包。例如,这里的mypackage
表示只打包mypackage
这个文件夹。setup(name='my-package', version='0.0.1', packages=['mypackage'], install_requires=[ 'numpy', 'scipy' ] )
这里的
install_requires
表示项目需要的依赖,它也可以写在另一个文件requirements.txt
中。setup.py
还有很多其他的参数,你可以参考 官方文档 来了解它们的作用。setup.cfg
setup.cfg
是setup.py
的一个扩展文件。它可以被用来管理setup.py
的一些常用的参数设置。使用setup.cfg
可以让setup.py
更清晰易读,setup.cfg
中的参数也比setup.py
更容易被重用。下面是一个例子:[metadata] name = my-package version = 0.0.1 author = John Doe author-email = john.doe@example.com [options] packages = find: install_requires = numpy scipy
这里的
[metadata]
部分和setup.py
中的setup()
函数所需要提供的参数是一样的,只是写法不一样。[options]
部分和setup.py
中的install_requires
参数也是一样的。总的来说,
setup.py
和setup.cfg
可以让我们更方便地定义和管理 Python 项目的打包和发布。 -
此回复已被删除! -
此回复已被删除!