Python 分发包中添加额外文件的方法
作者:夜雨秋灯录 发布时间:2023-02-15 08:43:11
在制作一个 Python 分发包时经常需要把一些文件添加到包中。最常见的例子是你希望通过 pip install
命令安装 Python
包时会在
/etc/ 等目录下自动添加默认配置文件,由此可以让 Python 安装完成就可以工作,同时也可以给用户提供配置样例参考。
参考 Installing Additional Files
如果使用 setuptools
,在 setup.py 文件中可以通过 data_files
配置项配置分发包的额外文件, 格式为: (<安装位置>, [<文件1>, <文件2>, ...])
# setup.py
from setuptools import setup
setup(...,
data_files=[('bitmaps', ['bm/b1.gif', 'bm/b2.gif']),
('config', ['cfg/data.cfg'])],
)
上面的示例 <安装位置> 使用了相对路径,在安装时会根据安装前缀如 sys.prefix
(系统级安装) 和 site.USER_BASE
(用户级安装)解释为绝对路径。虽然也可以使用绝对路径,但不推荐这么做,因为 这与 wheel 格式的分发包不兼容。文件路径同样也是相对路径,其路径起点为 setup.py
文件所在目录, 即项目的根目录,注意文件不能被重命名。
如果使用 pbr 帮助打包,声明额外文件的方法与上述类似, 需要在 setup.cfg
如下配合
[files]
packages =
pbr
data_files =
etc/pbr = etc/*
etc/init =
pbr.packaging.conf
pbr.version.conf
总结
以上所述是小编给大家介绍的Python 分发包中添加额外文件的方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://privaterookie.github.io/2019-08-16-Python-package%E5%AE%89%E8%A3%85%E6%97%B6%E5%AE%89%E8%A3%85%E9%A2%9D%E5%A4%96%E6%96%87%E4%BB%B6/?utm_source=tuicool&utm_medium=referral
猜你喜欢
- 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。看代码:# -*- coding: utf-8 -*-# @File &nb
- 这个仿msn的右下角popup提示窗口效果很久以前收集的,现在整理出来给大家分享,需要的朋友可以拿去用,特点,提示窗口内容和js代码分离容易
- 变量类型ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型。基本类型基本类型指的是简单的数据段,5种基本数据类型:un
- 打印类的所有属性和方法利用dir(obj)方法获得obj对象的所有属性和方法名,返回一个list。for item in dir(top_k
- 前提:list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数
- 前言Python 读取数据自动写入 MySQL 数据库,这个需求在工作中是非常普遍的,主要涉及到 python 操作数据库,读写更新等,数据
- 单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整
- 前言虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。
- 由于ajax在跨域的访问上有问题,目前最好的方法是做代理.写了个代理程序和心得为了做ajax的代理,研究了下服务器端的xmlhttp并和客户
- 本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧。字
- 代码如下: var lishustr = "qwertyuiopasdfghjklmnbvcxz"; var s = l
- 说在前头最近在做毕设,题目是道路拥堵预测系统,学长建议我使用SVM算法进行预测,但是在此之前需要把Excel中的数据进行二次处理,原始数据不
- V5.0之后,我们总结了一些得失。首先要说的是改版的动力。产品设计或产品升级的驱动力只有两个:用户需求和网站目标。之前的我们的多次改版,其驱
- <?php ////$strimgsrc = file_get_contents("http://127.0.0.1/530
- 在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题
- 相信大家都试过将Python文件进行打包,来发给其他没有安装Python环境的用户使用,但通常情况下,打包生成的exe文件都很大,而产生这种
- PHP htmlspecialchars() 函数实例把预定义的字符 "<" (小于)和 ">&q
- 总的来说,提高应用程序性能的最好的方法是发现应用的瓶径之所在,和数据库进行交互的性能无疑是决定应用程序性能的重要环节之一。因为ADO是当前最
- 前言复习试题时,发现一道复数问题问题关于 Python 的复数类型,以下选项中描述错误的是A复数的虚数部分通过后缀“J”或者“j”来表示B对
- 在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup