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

python setup.py 浅析

python setup.py 浅析 setuptools.setup() 参数说明 packages 对于所有 packages 列表里提到纯 Python 模块做处理 需要在 setup 脚本里有一个包名到目录映射...packages = ['foo', 'foo.bar'] 告诉 distutils 去寻找 lib/__init__.py 和 lib/bar/__init__.py. py_modules 对于一个相对较小模块发布...,你可能更想要列出所有模块而不是列出所有的包,尤其是对于那种根目录下就是一个简单模块类型....这描述了两个包,一个在根目录下,另一个则在 pkg 目录下。 默认“包:目录”映射关系表明你可以在 setup 脚本所在路径下找到 mod1.py 和 pkg/mod2.py。...': ['legit = legit.cli:cli',] 生成可执行控制台程序,程序名为 legit, 运行 legit.cli cli()函数。

2.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 python-fire 快速构建 CLI

    但是我们拼凑起来东西在大多数时候并不是一个完整 CLI,您需要管理标志、解析参数、链接子命令等等,这很麻烦,因此会产生多个小和不受管理脚本。...您可以使用此文件作为参考来创建自己 CLI: # setup.py """Package setup""" import setuptools # Development Requirements...entry_points={"console_scripts": ["to = tools:run"]}, 这to是我们 CLI 名称,您可以将其命名为任何您喜欢名称。...如果你想给它命名,brr它会像这样: entry_points={"console_scripts": ["brr = tools:run"]}, tools:run代表我们模块名称,后跟它需要运行功能...控制台脚本总是需要一个函数才能运行,因此我们之前进行了修改。 感觉像 CLI ‍♂️ 现在让我们在虚拟环境中以可编辑模式安装 CLI。这就像 CLI 热重载,您所做任何更改都会立即反映出来。

    34130

    Setuptools 【Python工具包详解】

    什么是setuptools setuptools是Python distutils增强版集合,它可以帮助我们更简单创建和分发Python包,尤其是拥有依赖关系。...用户在使用setuptools创建包时,并不需要已安装setuptools,只要一个启动模块即可。...创建一个简单包 有了setuptools后,创建一个包基本上是无脑操作 cd /tmp mkdir demo cd demo 在demo中创建一个setup.py文件,写入 from setuptools..."]) 使用entry_points 一个字典,从entry point组名映射道一个表示entry point字符串或字符串列表。...别的应用使用方法是通过pkg_resources.require()来导入这些模块。 另外,一个名叫stevedore库将这个方式做了封装,更加方便进行应用扩展。

    1.1K10

    pythondistutils、setuptools模块

    包在开发中十分常见,一般使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用。...另外有一个记录文件MANIFEST。 四、安装模块 hello_module-1.0.tar.gz 是生成python模块。切换到python虚拟环境中,安装该模块。...模块就是hello.py文件,引用hello.py文件中hello_fun()函数。 setuptools setuptools是distutils增强版。...setuptools一个entry_points功能很方便,类似linux启动某个服务,如在linux命令行里firefox能启动火狐浏览器。首先检验没有安装之前,命令path没有作用。...setuptools进阶使用 上面使用setuptools时只是简单一个配置文件setup.py就完成了打包信息填写。在真实开发环境中,往往是多个文件配合。以openstack打包为例。

    91420

    如何打包和发布Python程序

    今天就来说一说Python第三方包打包与发布流程! 打包 想要发布一个第三方包,首先你得有一个需要发布项目。这个项目可以完成任何有意义事情。...比如:今天样例就是一个Python测试报告第三方库。 当我们把功能模块已经实现好之后,就可以按照python打包目录结构要求来搭建了。...具体步骤为: 新建一个目录作为根目录 把功能模块以Python包形式放入根目录 在根目录中创建setup.py文件,并填写相应内容 在根目录创建其它描述文件,:LISENCE,README等 这里以...其中最重要是setup.py文件,而这个项目的功能模块就是pytestreport这个包。接下来最重要就是如何编写setup.py文件。...packages:需要打包Python包目录;注意如果有子包则必须显式列出来,:pytestreport.api data_files:需要打包非.py文件; entry_points:指定安装包之后程序入口脚本

    2.2K50

    【自力更生】scf-add:为用Python编写腾讯云函数服务SCF代码提供便捷pypi库添加方式

    ,再加上一些后续处理(wheel文件解压之后有两个子文件夹,一个代码文件夹,一个包发行说明文件夹,需要再进行一下文件夹移动),我写了一个简单添加pypi库命令scf-add(https://github.com...TIM截图20180521084027.png TIM截图20180521084134.png 解决方案 开发一个命令行工具,选用一个合适辅助库是很关键,毕竟只用argparse还是有点麻烦,我选择了...flask-cli使用click库,可以方便通过装饰器编写命令行应用,一个来自官方文档示例是这样。...import click @click.command() @click.option('--count', default=1, help='Number of greetings.')...entry_points={ 'console_scripts': ['scf-add=scf_add:main'], }, #... ) 安装和使用 pip直接安装 pip install

    1.7K120

    pythonsetup.py文件及其常用命令

    文件模版,示例如下: include xx.txt include yy/xx.txt .... 2.bdist_egg:用来创建一个二进制分发版本,经常用来替代基于bdist生成模式 3.install...另外,他还可能会安装在setup.py中install_requires定义相关模块,例如: install_requires=['...','...']删除一个包:1)删除这个包所创建文件,...www.2cto.com 4.develop:编译并且在适当位置安装包,然后添加一个简单链接到python site-packages文件夹中,可以使用显式-u选项删除包,例如: python...setup.py develop python setup.py develop -u 使用该方式比其他方式安装包更好一些5.创建一个新命令:这是由setuptools引入,是一种将包定义为插件简单方法...,示例: ...entry_points=''' [distutils.commands] my_command=my.command.module.Class

    1.5K20

    Click编写Python命令行工具

    在本教程最后,你会知道: 为什么click相比于argparse和optparse来说是一个更好选择 如何用它创建一个简单CLI 如何将强制命令行参数添加到您脚本 如何解析命令行标志和选项 如何通过添加帮助...例如,click是这个命令中参数:pip install click。 2.或者它可以是一个选项,它是一个可选(||)参数,结合名称和值部分,--cache-dir ./my-cache。...通过Click构建一个简单Python命令行界面 我已经谈了很多CLI和框架。我们来看看用click来构建一个简单CLI是什么意思。...以下是你所学到: 为什么click一个更好选择相对argparse和optparse 如何用它创建一个简单CLI 如何将强制命令行参数添加到您脚本 如何解析命令行标志和选项; 如何通过添加帮助...下面的完整代码示例说明了这一点。你可以自由地使用它来做你自己实验 ? 如果这启发了你,你应该看看click官方文档以获得更多功能。

    3.3K10

    强大 Python 任务自动化工具!invoke 十分钟入门指南

    同样是任务自动化工具,invoke 与我们之前介绍过 tox/nox 在侧重点上有所不同: tox/nox 主要是在打包、测试、持续集成等方面的自动化(当然它们能做还不止于此) invoke 则更具普遍性...3、 如何用好 invoke? 介绍完 invoke 简单用法,我们知道了它所需几项要素,也大致知道了它使用步骤,接下来是它其它用法。...例如,现在有多份 tasks.py,彼此是相对完整而独立任务模块,不方便把所有内容都放在一个文件中,那么,如何有效地把它们整合起来管理呢? invoke 提供了这方面的支持。...3.5 作为命令行工具库 Python 中有不少好用命令行工具库,比如标准库中argparse、Flask 作者开源click 与谷歌开源fire 等等,而 invoke 也可以作为命令行工具库使用...4、小结 invoke 作为从 Fabric 项目中分离出来独立项目,它自身具备一些完整而强大功能,除了可用于开发命令行工具,它还是著名任务自动化工具。

    1.3K10
    领券