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


猜你喜欢
- 最近在老家找工作,无奈老家工作真心太少,也没什么面试机会,不过之前面试一家公司,提了一个有意思的需求,检测河面没有有什么船只之类的物体,我当
- select a.f_username from ( SELECT /*+parallel(gu,4)*/distinct gu.f_use
- 如题,首先读取视频路径,其次根据视频名称创建对应的文件夹,再逐帧将视频帧读入。import cv2import argparseimport
- python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来。在编写pytho
- 什么是EfficientNet模型2019年,谷歌新出EfficientNet,在其它网络的基础上,大幅度的缩小了参数的同时提高了预测准确度
- 前言金融行业的Python学习,不同于IT系统开发,我们并不需要达到程序员的水平。然而,学会Python可以让你实现一个人写完一个交易系统的
- 今天我们来学习用 Web 标准的方法来制作 Google 首页(中文)。Google 首页一直是用 table 布局的。我们把 Google
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 15 - SlidersMooTools 1.2的
- 数据聚合与分组运算对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),通常是数据分析工作中的重要环节。在将数据集加载、融合、准备好之
- 一、关于Python操作数据库的概述Python所有的数据库接口程序都在一定程度上遵守 Python DB-API 规范。DB-API定义了
- 目录背景引入虚拟文件例子文档Typescript支持总结背景在新项目升级vue3以后,自然而然的就把vue-cli&webpack更
- 译者的话:寡妇、孤儿、捧打鸳鸯,这些场面足以让你有想哭的冲动,但当你在排版设计时,同样会碰到这些问题,甚至可能更槽。虽说今天的页面排版软件可
- 1.前言版本:Python3.6.1 + PyQt5写一个程序的时候需要用到画板/手写板,只需要最简单的那种。原以为网上到处都是,结果找了好
- python最值与下标最大值的下标winner = np.argmax(scores)多个最大值的下标(np.argwhere返回数组中非0
- 在python学习的过程中,我们最先接触到的就是python的数组,元组,字典等基础类型,但很少有人深入讨论python的内置序列类型以及它
- 本文实例讲述了Python针对给定字符串求解所有子序列是否为回文序列的方法。分享给大家供大家参考,具体如下:问题:给定一个字符串,得到所有的
- python默认使用的是国外镜像,有时候下载非常慢,最快的办法就是在下载命令中增加国内源:常用的国内源如下:清华大学:https://pyp
- SQL Server 的扩展存储过程,其实就是一个普通的 Windows DLL,只不过按照某种规则实现了某些函数而已。近日在写一个扩展存储
- 今天开发富媒体广告遇到的问题 用JS控制flash 只在IE平台下有效 费尽周折才找到兼容的解决方案方法如下:重点在于 object的id属
- 如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列。range()语法:range(start,end,step=1):顾