首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

distutils:如何将用户定义的参数传递给setup.py?

distutils中,可以通过命令行参数或者配置文件来传递用户定义的参数给setup.py

  1. 通过命令行参数传递:

在命令行中执行setup.py命令时,可以使用--来指定用户定义的参数。例如,如果要传递一个名为--my-option的参数,可以使用以下命令:

代码语言:txt
复制
python setup.py install --my-option=value

setup.py中,可以使用distutils.core.setup函数的**options参数来获取这些用户定义的参数。例如:

代码语言:python
代码运行次数:0
复制
from distutils.core import setup

setup(
    name='mypackage',
    version='0.1',
    packages=['mypackage'],
    # ...
    options={
        'my_option': 'value',
    },
)
  1. 通过配置文件传递:

可以在setup.cfg文件中定义用户定义的参数,然后在setup.py中使用distutils.core.Configure类来读取这些参数。

setup.cfg文件中定义参数:

代码语言:txt
复制
[my_option]
value = my_value

setup.py中读取参数:

代码语言:python
代码运行次数:0
复制
from distutils.core import setup, Configure

config = Configure()
my_option = config.get_option('my_option', 'value')

setup(
    name='mypackage',
    version='0.1',
    packages=['mypackage'],
    # ...
    options={
        'my_option': my_option,
    },
)

这样,就可以在setup.py中使用用户定义的参数了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何将多个参数传递给 React 中的 onChange?

onChange 事件是一个非常有用、非常常见的事件,用于捕获输入框中的文本变化。有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。...当用户输入文本时,e.target.value 取得文本域的值,该值被保存在 inputValue 状态中。最后,inputValue 将被渲染到组件中。...多个参数传递有时候,我们需要将多个参数传递给 onChange 事件处理函数。例如,假设我们有一个包含两个输入框的表单。每个输入框都需要在变化时更新组件的状态,但是我们需要知道哪个输入框发生了变化。...结论在本文中,我们介绍了如何使用 React 中的 onChange 事件处理函数,并将多个参数传递给它。我们介绍了两种不同的方法:使用箭头函数和 bind 方法。...这些技术可以让你在 React 应用程序中更好地处理复杂的表单逻辑,从而提高用户体验。

2.7K20

python中如何定义函数的传入参数是option的_如何将几个参数列表传递给@ click.option…

如果通过使用自定义选项类将列表格式化为python列表的字符串文字,则可以强制单击以获取多个列表参数: 自定义类: import click import ast class PythonLiteralOption...Syntax Tree模块将参数解析为python文字....自定义类用法: 要使用自定义类,请将cls参数传递给@ click.option()装饰器,如: @click.option('--option1', cls=PythonLiteralOption,...这是有效的,因为click是一个设计良好的OO框架. @ click.option()装饰器通常实例化click.Option对象,但允许使用cls参数覆盖此行为.因此,从我们自己的类中继承click.Option...并过度使用所需的方法是一个相对容易的事情.

7.7K30
  • Python代码分析工具:PyCheck

    PyChecker可以检查出来的问题有如下几种: 全局量没有找到,比如没有导入模块 传递给函数、方法、构造器的参数数目错误 传递给内建函数和方法的参数数目错误 字符串格式化信息不匹配 使用不存在的类方法和属性...覆盖函数时改变了签名 在同一作用域中重定义了函数、类、方法 使用未初始化的变量 方法的第一个参数不是self 未使用的全局量和本地量(模块或变量) 未使用的函数/方法的参数(不包括self) 模块、类...,使用--only参数可以只检查自身的语法问题: [root@rango pychecker-0.8.19]# pychecker --only setup.py Processing module...或者直接在代码中定义: __pychecker__ = 'no-namedargs maxreturns=0 unsednames=foo,bar'     其中__pychecker__格式的值和在禁止字典中的值是一样的...been rated at 7.98/10 示例:检查pylint-1.2.1目录下的setup.py文件:pylint setup.py No config file found, using default

    3.6K20

    NumPy 1.26 中文文档(四十五)

    第一个参数name定义了扩展模块的名称,该扩展模块将安装在config.name包下。第二个参数是一个源列表。add_extension方法还接受将传递给Extension构造函数的关键字参数。...第一个参数name定义了扩展模块的名称,该模块将安装在config.name包下。第二个参数是一个来源列表。 add_extension方法还接受传递给Extension构造函数的关键字参数。...*userloops 用户定义的 1-d 向量循环的字典(存储为 CObject 指针)用于用户定义的类型。用户可以为任何用户定义的类型注册循环。它通过类型编号检索。...*userloops 用户定义的 1 维向量循环的字典(存储为 CObject ptrs),用于用户定义的类型。用户可以为任何用户定义的类型注册循环。它通过类型编号检索。...*userloops 用户定义的 1-d 向量循环的字典(存储为 CObject ptrs)用于用户定义的类型。用户可以为任何用户定义的类型注册一个循环。它通过类型编号检索。

    13410

    Python的Distutils模块

    version='1.0', py_modules=['foo'], ) setup函数的参数表示提供给Distutils的信息,这些参数分为两类:包的元数据(包名、版本号...第一,开发者和安装者有同样的用户接口,也就是setup脚本,但他们使用的Distutils命令不同,sdist命令几乎只有开发者使用,而install对于安装者更常用。...从上面那个简单的例子中可知,setup脚本主要是调用setup函数,而且模块开发者向Distutils提供的模块信息多数是由setup函数的关键字参数提供的。...2.1、列出整个包Setup函数的packages参数是一个列表,其中包含了Distutils需要处理(构建、发布、安装等)的所有包。...三、配置文件一般情况下,在构建发布时无法将所有的选项都确定下来,有些选项的值可能来自于用户,或者用户的系统。这也就是配置文件setup.cfg存在的目的,用户可以通过修改该配置文件进行选项的配置。

    5.8K40

    NumPy 基础知识 :6~10

    然后我们将修改后的x传递给傅立叶变换,并使用预定义的show()绘制图形。 您可以在下图中看到它: 在上方的绿色折线图中,我们可以看到正弦波组合了不同的频率,但实际上很难区分它们。...iDFT 将频率序列映射回原始时间序列,该序列由以下公式定义: 我们可以看到反方程与 DFT 方程的不同之处在于指数参数的符号和通过1 / n进行归一化。 让我们再次进行手动计算。...有关更多详细信息,用户可以参考api文档中的numpy.distutils扩展类。...总结 在本章中,我们介绍了用于打包和分发应用的工具。 我们首先看了一个更简单的setup.py文件。 您研究了setup函数的属性以及这些参数如何链接到最终安装程序。...众所周知netCDF4是一种自我描述的文件格式; 您可以创建和访问存储在变量中的任何用户定义属性,尽管最常见的是standard_name,它告诉我们该变量代表降水通量。

    2.4K10

    Python包

    Python包 包用于将一组模块归并到一个目录中,此目录即为包,目录名即为报名 包是一个有层次的文件目录结构,它定义了一个由模块和子包组成的Python应用执行环境 基于包,Python在执行模块导入时可以指定模块的导入路径...压缩文件(使用distutils) windows的zip文件和类Unix平台的.tar.gz文件 自动解包或自动安装可执行文件 windows中的exe文件 自包含的,不要求安装的预备运行可执行程序....deb文件 Python eggs 较流行的第三方扩展 1.使用disutils发布模块 distutils模块能够帮助完成模块或程序发布 1“发布”是指一个文件集合,这些文件联合在一起可使用distutils...', ) 将各代码文件组织到模块容器中,而后在容器中创建setup.py文件 参数描述 name包的名称(必需) Version版本号(必需) author作者名称 author_email作者的电子邮件地址.../usr/local/python27/lib/python2.7/site-packages 自定义安装路径: 普通用户 --user= //用户家目录 公共用户有写权限 --prefix

    2.4K100

    python打包二进制文件(pyddllexe)

    ('AlgorithmIce/*.py')) 执行python compile.py build_ext(需要带参数) 使用cython编译pyx文件输出c和h文件(带cdef public等定义才会输出头文件...),pyx添加 # distutils: language = c++输出cpp文件 或者cython --cplus输出 cython test.pyx //要导出的函数最好自己写...python setup.py bdist_wininst //set.py如上需要自己编辑 python setup.py bdist_wininst # 创建".exe"的文件 python...setup.py bdist_msi # 创建".msi"的文件 python setup.py bdist --format=msi # 同样是创建"*.msi"的文件 异常 链接失败:python...扩展导入的库vs中是__thiscall,到extension中变成了__cdecl调用,所有找不到链接了,后面改用源码编译(不知道python内部参数怎么改的) 调试 python中使用 print

    3.3K20

    如何制作whl文件「建议收藏」

    Wheel现在被认为是Python的二进制包的标准格式。 以下是Wheel和Egg的主要的不同点: Wheel有一个官方的PEP427来定义,而Egg没有PEP定义。...setuptools重点在于setup.py文件编写 setup.py参数介绍: name : 打包起来的包的文件名 version : 版本号,添加为打包文件的后缀名 author : 作者 author_email...: 是一个包含Extension实例的列表,Extension的定义也有一些参数。...ext_package : 定义extension的相对路径 requires : 定义依赖哪些模块 provides : 定义可以为哪些模块提供依赖 data_files :指定其他的一些文件(如配置文件...将python文件(.py)封装成可安装使用的模块 参考:https://docs.python.org/3.6/distutils/introduction.html#distutils-simple-example

    3K10

    Python 中的 requirements.txt 与 setup.py

    更具体地说,将讨论 requirements.txt 文件的用途以及如何使用 setuptools 来分发自定义的Python 包并让其他用户进一步使用和开发它。...除此以外还将讨论设置文件(即 setup.cfg 和 setup.py)的用途以及如何将它们与需求文件一起使用,这样可以使包开发和重新分发的过程变得更容易。...,所以一个更好的方法是在名为 setup.cfg 的文件中定义这些元数据和信息,然后只需在 setup.py 文件中调用 setup ()即可。...以下是Python文档中官方的定义: install_requires(即 setup.py)定义了单个项目的依赖关系,而requirements.txt 通常用于定义完整 Python 环境。...并且介绍了 requirements.txt 文件的用途以及如何将它与 setuptools 的配置文件(即 setup.py 和 setup.cfg)一起使用,这样可以保证其他开发人员可以安装、运行、

    1.2K20

    Python打包系统简单入门

    打包需要distutils、setuptools、wheel等类库,不过基本上我们只需要写好其中最重要的setup.py,就可以完成打包工作了。...distutils是官方的类库,在当年有很广泛的使用,不过到了现在很难用。...distutuils类库的核心就是setup函数,我们需要将项目的各种信息作为参数传递给setup函数,然后就可以用相关命令创建项目分发包了。关于distutils的用法,可以参考官方文档。...当然现在项目基本都不用distutils了,有更好用的第三方替代品,那就是setuptools,它可以算作是distutils的加强版,功能更加强大、使用更加简单,这就是这里要介绍的。...上传项目需要用到另一个类库twine: pip install twine 然后用下面的命令将包上传到测试索引中,该命令会提示输入刚才注册用的用户名和密码: twine upload --repository-url

    99430

    python之本地模块包使用和创建

    install xxxx -U 查看已安装的包: pip list python项目 一个完整的结构需要满足以下的条件: 拥有一个在版本管理之下的源码目录 程序信息在setup.py中定义 在一个...首先了解下什么是setuptools什么是setuptools setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。...用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。 使用时使用import setuptools导入即可..../lib/python2.7/dist-packages/mytest-0.1-py2.7.egg就是刚才我们安装的自定义库.O(∩_∩)O 如何使用未安装的库使用本地的包(不经过安装的),需要执行如下步骤...第三章:python项目的结构和包的创建 导入他人写的Python包&创建自己的Python包 如何创建自己的python包 如何将自己的Python程序打包--setuptools详解 Python

    2.5K20

    NumPy 1.26 中文文档(四十四)

    在释放数据时,如果没有内存分配策略,则发出警告 一些用户可能会通过设置ndarray的OWNDATA标志来将数据指针的所有权传递给ndarray。...在释放数据时,如果没有内存分配策略,则发出警告 一些用户可能会通过设置ndarray的OWNDATA标志来将数据指针的所有权传递给ndarray。...同时,numpy.distutils.misc_util 还提供了一个有用的 Configuration 类,可以更轻松地构建传递给 setup 函数的关键字参数(通过传递从该类的 todict() 方法获得的字典...numpy 分配中的 setup.py 文件是如何使用Configuration实例的很好的例子。 todict() 返回一个与 distutils setup 函数的关键字参数兼容的字典。...numpy 分发中的 setup.py 文件是如何使用Configuration实例的好例子。 todict() 返回一个与 distutils 安装函数的关键字参数兼容的字典。

    31410

    python之基础篇(八)——模块与包

    ;       2、准备一个README或README.txt文件;       3、而后在容器中创建setup.py文件,格式如下: from distutils.core import setup...) setup.py的常用参数:       name:包的名称(必需)       Version:版本号(必需)       author:作者名称       author_email:作者的电子邮件地址...platforms:适用的平台列表       license:许可证     setup.py的参数大体分为两类:       元数据信息(name、version等)       包中的内容列表(py_modules...在未指定安装目录时,默认将安装到第三方模块安装目录中(/python安装目录/lib/site-packages)       自定义安装路径:         --user=:安装至指定用户家目录中特定的目录下...          常用于普通用户,因为普通用户对某些目录是没有写权限的         --prefix=:指定python库的安装路径           要对指定目录有写权限         -

    2.4K30

    NumPy 秘籍中文第二版:九、使用 Cython 加速代码

    创建一个名为setup.py的文件来帮助构建 Cython 代码: from distutils.core import setup from distutils.extension import Extension...操作步骤 本节通过以下步骤介绍如何将 Cython 与 NumPy 结合使用: 编写一个.pyx文件,其中包含一个函数,该函数可计算上升天数的比率和相关的置信度。 首先,此函数计算价格之间的差异。...我们将尝试使其简单: 除了将函数参数和一个局部变量声明为ndarray数组外,我们将编写的 Cython 代码类似于常规的 Python 代码。...通过此修订,setup.py文件具有以下内容: from distutils.core import setup from distutils.extension import Extension from...该秘籍的主要成分如下: cimport,它导入 C 声明 包含具有get_include()函数的目录 cdef关键字,用于定义局部变量的类型 另见 相关的 Cython 在线文档

    82010
    领券