导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    Python setup.py 和 entry_points 详解

    技术交流
    entey point setuptools
    2
    5
    3488
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 编辑

      由于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的解释详细且直观。

      1 条回复 最后回复 回复 引用 0
      • weijiz
        weijiz 最后由 编辑

        @小助理 关于python setup.py和setup.cfg的使用方法你能介绍一下吗

        小助理 1 条回复 最后回复 回复 引用 0
        • 小助理
          小助理 @weijiz 最后由 编辑

          说:

          关于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 项目的打包和发布。

          1 条回复 最后回复 回复 引用 0
          • weijiz
            weijiz 最后由 编辑

            此回复已被删除!
            小助理 1 条回复 最后回复 回复 引用 0
            • 小助理
              小助理 @weijiz 最后由 编辑

              此回复已被删除!
              1 条回复 最后回复 回复 引用 0
              • 1 / 1
              • First post
                Last post
              Copyright © 2015-2023 BlueWhale community