首页
学习
活动
专区
工具
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
复制
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
复制
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.2K20

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.5K20

PythonDistutils模块

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

5.4K40

NumPy 基础知识 :6~10

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

2.3K10

Python包

Python包 包用于将一组模块归并到一个目录中,此目录即为包,目录名即为报名 包是一个有层次文件目录结构,它定义了一个由模块和子包组成Python应用执行环境 基于包,Python在执行模块导入时可以指定模块导入路径...压缩文件(使用distutils) windowszip文件和类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中setuptools作用是什么

用户在使用setuptools创建包时,并不需要已安装setuptools,只要一个启动模块即可。...功能亮点: 利用EasyInstall自动查找、下载、安装、升级依赖包 创建Python Eggs 包含包目录内数据文件 自动包含包目录内所有的包,而不用在setup.py中列举 自动包含包内和发布有关所有相关文件...,而不是创建一个MANIFEST.in文件 自动生成经过包装脚本或Windows执行文件 支持Pyrex,即在可以setup.py中列出.pyx文件,而最终用户无需安装Pyrex 支持上传到PyPI...可以部署开发模式,使项目在sys.path中 用新命令或setup()参数扩展distutils,为多个项目发布/重用扩展 在项目setup()中简单声明entry points,创建可以自动发现扩展应用和框架...基础知识点扩展: Python打包分发工具setuptools:曾经 Python 分发工具是 distutils,但它无法定义包之间依赖关系。

2.3K20

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.1K20

keras Lambda自定义层实现数据切片方式,Lambda参数

,传递方式如下代码所述: def slice(x,index): return x[:,:,index] 如上,index是参数,通过字典将参数传递进去....可视化图如下所示。 ? 补充知识:tf.keras.layers.Lambda()——匿名函数层解析 1. 参数列表 ? 2. 作用 ?...Lambda层缺点 Lambda层虽然很好用,但是它不能去更新我们模型配置信息,就是不能重写’model.get_config()’方法 所以tensorflow提议,尽量使用自定义层(即tf.keras.layers...子类) 关于自定义层,我博客有一期会专门讲 总结 当网络需要完成一些简单操作时,可以考虑使用Lambda层。...以上这篇keras Lambda自定义层实现数据切片方式,Lambda参数就是小编分享给大家全部内容了,希望能给大家一个参考。

1.3K30

如何制作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

2.7K10

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.1K20

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.2K20

Python打包系统简单入门

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

95530

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.3K30

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 在线文档

68510
领券