Python 发行版有哪些用例?

2024-01-26

我正在为我正在编写的 Python 包开发一个发行版,以便我可以发布 它在 PyPI 上。这是我第一次使用 distutils、setuptools、distribute、 pip、setup.py 等等,我在学习曲线上有点挣扎 这比我预期的要陡一些:)

我在获取一些测试数据文件时遇到了一些麻烦 通过在中指定它们来包含在 tarball 中data_filessetup.py 中的参数,直到我在这里遇到另一篇文章指出我 朝向MANIFEST.in文件。就在那时我猛然意识到你所做的 包含在 tarball/zip 中(使用 MANIFEST.in)以及安装在 用户执行 easy_install 或其他操作时的 Python 环境(基于什么 你指定在setup.py) 是两个截然不同的事物;一般来说有 tarball 中的内容比实际安装的内容要多得多。

这立即引发了我的代码嗅觉,并意识到有 一个发行版必须有多个用例;我一直专注于 我唯一真正参与过一次,使用 easy_install 或 pip 安装 图书馆。然后我意识到我正在开发工作产品,而我只有一个 对我正在开发的最终用户的部分了解。

所以我的问题是:“Python 发行版的用例是什么? 除了将其安装在Python环境中之外?我还为谁服务 对于这个分布,他们最关心什么?”

以下是我尚未弄清楚的一些与工作有关的问题 回答:

  • 包含源代码控制下的所有内容是否明智? (git) 在源代码分发中? github时代还有人下载吗 一个源代码分发来访问完整的项目源代码?或者我应该 只需发布我的 github 存储库的链接即可?不会包括一切臃肿 分发并使那些只想下载的人需要更长的时间来下载 安装它吗?

  • 我将把文档托管在 readthedocs.org 上。它是否使任何 对我来说,在源代码中包含文档的 HTML 版本是有意义的 分配?

  • 有人用吗python setup.py test对源运行测试 分配?如果有,他们扮演什么角色,处于什么境地?我 不知道我是否应该费心去做这项工作,如果我这样做,该让谁做 它适用于。


您可能希望包含在源代码发行版中但可能不安装的一些内容包括:

  • 包的许可证
  • 测试套件
  • 文档(除了源代码之外,还可能是经过处理的表单,例如 HTML)
  • 可能用于构建源代码分发的任何其他脚本

通常,这将是您在版本控制中管理的大部分或全部内容,也可能是一些生成的文件。

当这些文件在线可用或通过版本控制提供时,您要执行此操作的主要原因是让人们知道他们拥有与他们正在运行的代码相匹配的文档或测试版本。

如果您仅在线托管最新版本的文档,那么它们对于因某种原因必须使用旧版本的人来说可能没有用。并且版本控制中提示上的测试套件可能与源代码分发中的代码版本不兼容(例如,如果它测试此后添加的功能)。为了获得正确版本的文档或测试,他们需要梳理版本控制,寻找与源代码分发相对应的标签(假设开发人员费心标记树)。在源代码分发中提供可用文件可以避免此问题。

对于想要运行测试套件的人来说,我将许多 Python 模块打包在各种 Linux 发行版中,并且偶尔会收到与其环境中的测试失败相关的错误报告。当我遇到错误并想检查外部代码在我的环境中是否按照作者的预期运行时,我也使用了其他人模块的测试套件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 发行版有哪些用例? 的相关文章

  • python中热图的层次聚类

    我有一个 NxM 矩阵 其值范围为 0 到 20 我可以使用 Matplotlib 和 pcolor 轻松获得热图 现在我想使用 scipy 应用层次聚类和树状图 我想重新排序每个维度 行和列 以显示哪些元素相似 根据聚类结果 如果矩阵是方
  • ipdb 和 pdb++ 之间的区别?

    Python 有一个名为 pdb 的默认调试器 但社区创建了一些替代品 其中两个是ipdb https github com gotcha ipdb and pdb https github com pdbpp pdbpp 它们似乎迎合了相
  • Celery计划任务中的打印语句不会出现在终端中

    当我跑步时celery A tasks2 celery worker B我想看到每秒打印 芹菜任务 目前没有打印任何内容 为什么这不起作用 from app import app from celery import Celery from
  • 带括号的上下文管理器

    我试图了解新的新内容带括号的上下文管理器Python 3 10 中的功能 新功能中的顶部项目here https docs python org 3 10 whatsnew 3 10 html 我的测试示例是尝试编写 with open f
  • 使用信号时出现 django TransactionManagementError

    我有一个与 django 的用户和 UserInfo 一对一的字段 我想订阅用户模型上的 post save 回调函数 以便我也可以保存 UserInfo receiver post save sender User def saveUse
  • 引发 RuntimeError(f"目录 '{directory}' 不存在") RuntimeError: 导入 fitz 时目录 'static/' 不存在

    当我运行 extract img py 文件时出现此错误 RuntimeError f 目录 directory 不存在 运行时错误 导入 fitz 时不存在目录 static 我不明白为什么这会给我发回此错误消息 我之前看到过关于这个话题
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • 使用 Python 的文本中的词频但忽略停用词

    这给了我文本中单词的频率 fullWords re findall r w allText d defaultdict int for word in fullWords d word 1 finalFreq sorted d iterit
  • Selenium Webdriver - Python - leboncoin - pb 选择带重音的按钮

    我正在尝试在以下网站上自动填写表格 https www leboncoin fr https www leboncoin fr 我用 Selenium IDE 录制了一个脚本 我有一个通过单击 Se 连接器 按钮并填写我的密码和用户名来自动
  • 在函数调用之间保存数据的Pythonic方式是什么?

    对我来说 上下文是我需要在调用修改该值的函数之间保留的单个 int 的信息 我可以使用全局 但我知道这是不鼓励的 现在 我使用了包含 int 的列表形式的默认参数 并利用了可变性 以便在调用之间保留对值的更改 如下所示 def increm
  • 属性错误:类型对象“图像”没有属性“打开”

    Exception in Tkinter callback Traceback most recent call last File C Python34 lib tkinter init py line 1482 in call retu
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • 提交表格并上传带有请求的文件

    我正在努力提交特定的表格蟒蛇请求 http www python requests org 我想使用它的网站上的其他表单工作正常 我可以提交登录表单等 这只是我遇到问题的文件上传 显然 提交表单效果很好 因为我从网站收到一条消息 说 请返回
  • Python 垃圾收集有时在 Jupyter Notebook 中不起作用

    我的一些 Jupyter 笔记本经常出现 RAM 不足的情况 而且我似乎无法释放不再需要的内存 这是一个例子 import gc thing Thing result thing do something thing None gc col
  • python中打印字符串的长度

    有没有什么方法可以找到 即使是最好的猜测 Python中字符串的 打印 长度 例如 potaa bto 是 8 个字符len但 tty 上只打印 6 个字符宽 预期用途 s potato x1b 01 32mpotato x1b 0 0mp
  • 使用 Flask-SQLAlchemy 进行多对多多数据库连接

    我正在尝试使这个多对多联接与 Flask SQLAlchemy 和两个 MySQL 数据库一起工作 并且它非常接近 只是它为联接表使用了错误的数据库 这是基础知识 我有main db and vendor db 表格设置为main db u
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • 在 scrapy 中将基本 url 与结果 href 结合起来

    下面是我的蜘蛛代码 class Blurb2Spider BaseSpider name blurb2 allowed domains www domain com def start requests self yield self ma
  • 在Python中从列表中获取n个项目组的惯用方法? [复制]

    这个问题在这里已经有答案了 给定一个列表 A 1 2 3 4 5 6 是否有任何惯用的 Pythonic 方式来迭代它 就好像它是 B 1 2 3 4 5 6 除了索引之外 这感觉像是 C 的遗留物 for a1 a2 in A i A i

随机推荐

  • GCC:为什么常量变量不放在.rodata中

    我一直相信 GCC 会设立一个static const变量为 rodata段 或 textELF 或此类文件的优化段 但情况似乎并非如此 我目前正在使用gcc GCC 4 7 0 20120505 prerelease 在装有 GNU Li
  • 如何将 select2 与 Meteor 一起使用?

    有人可以向我解释 select2 如何与 Meteor 一起使用吗 我在用zimme select2 bootstrap 3 css https atmospherejs com zimme select2 bootstrap3 css我不
  • 使用Spring将文本文件直接注入到String中

    所以我有这个 Value classpath choice test html private Resource sampleHtml private String sampleHtmlData Before public void rea
  • 撤销个人权限后更新会话

    我试图为用户提供一个通过复选框 Facebook SDK for Android 设置 撤销发布权限的选项 下面提供了代码 一切工作正常 除了在撤销负责检查发布权限的代码后惨遭失败 据我所知 Session 无法知道用户登录后是否撤销了任何
  • div内容加载后获取div高度

    我正在尝试设置一个的高度div等于另一个 我将它们称为左 div 和右 div 正确的div内容并不总是相同 并且使用 jQuery 加载 它是一个过滤器 因此每次单击过滤器时 内容都会发生变化 父级 div 高度也会发生变化 这是我的代码
  • 在 R 中,有没有办法将 RMarkdown v2 html 文件作为电子邮件正文发送

    我开发了一份报告 该报告大量使用了 RMarkdown v2 中的功能 特别是向 html 文档添加 css 类和 id 的功能 以便使用样式表更好地控制输出 我希望通过电子邮件正文发送这些报告 我一直在尝试使用 send mail mai
  • 如何显示搜索视图最近的搜索历史记录

    我尝试使用以下方式但无法显示最近的搜索历史记录 在 ActionBar 上的 SearchView 中创建 历史记录 https stackoverflow com questions 19166537 create history to
  • Java 中的 LDAP 如何针对此 LDAP 进行搜索/身份验证

    我正在使用 LDAP 和 Java 搜索 这是我的 LDIF 导出 组织简单 version 1 dn dc example dc com objectClass organization objectClass dcObject obje
  • 从 C# 访问 Ironpython 字典

    我在 Ironpython 脚本中定义了字典 我想从我的 C 访问该字典 代码 有人可以提供示例代码来实现我的要求 抱歉 之前我没有用代码提及我的问题陈述 import clr clr AddReference System Core im
  • JavaScript 中的重入

    我想提高对可重入这个词的理解 这个函数是可重入的吗 function foo yield 1 yield 2 和这个 function foo return 1 和这个 var x 0 function foo return x 和这个 f
  • 文件写入 - PrintStream 附加

    我试图将一些信息附加到文本文件中 但该文件仅显示最后写入的元素 有许多Engineers 但它仅将读取的最后一个元素打印到文件中 例如 Engineer e new Engineer firstName surName weeklySal
  • 使用多平台模拟 kotlin 中的常见测试

    我无法将通用模拟库 mockk io 与 kotlin 多平台一起使用 在他们的网站上 它说要在 kotlin 多平台中使用 mockk 你只需要将这一行添加到你的 gradle 中 testImplementation io mockk
  • 快速创建和播放声音

    所以我想做的是在 swift 中创建并播放一个声音 当我按下按钮时就会播放 我知道如何在 Objective C 中做到这一点 但是有人知道如何在 Swift 中做到吗 对于 Objective C 来说是这样的 NSURL soundUR
  • 远程服务,旋转时泄漏活动

    我在远程服务中遇到回调问题 注册回调轮换后会导致活动泄漏 你能给我一些建议吗 我做错了什么 IRemoteApi aidl import com example remoteservice IRemoteListener interface
  • Visual Studio 部署项目 - 创建已部署可执行文件的快捷方式

    我意识到可能有一种简单的方法可以做到这一点 但是如何为使用 Visual Studio 部署项目构建的 MSI 部署的可执行文件创建桌面快捷方式 我想我需要使用文件系统编辑器 但是当我在用户桌面上创建快捷方式时 我无法定位可执行文件 我只能
  • 带有彩色海洋的极地立体投影中的 Geopandas 世界地图

    对此添加进一步的要求question https stackoverflow com questions 55646598 polar stereographic projection of geopandas world map 我还需要
  • 解析 XML 并填充到列表框中

    我是 C 新手 我要发展C List box in Windows Form 我发现this http dotnetperls com listbox链接会有帮助 但列表框的输入将是以下格式的 XML
  • AWS S3 读取是否保证返回新创建的对象?

    我一直在阅读有关 AWS S3 的写后读一致性的文档 但我仍然不确定这一点 如果我向 S3 写入一个对象 并在从写入操作获得成功响应后 我立即地尝试读取它 读取操作是否保证返回该对象 换句话说 有没有可能因为找不到对象而导致读操作失败 因为
  • FatFree 路由在生产中不起作用

    我有一个具有许多路由路径的应用程序 如下所示 F3 route GET Main gt get front page F3 route GET login check for login Login gt check for login 第
  • Python 发行版有哪些用例?

    我正在为我正在编写的 Python 包开发一个发行版 以便我可以发布 它在 PyPI 上 这是我第一次使用 distutils setuptools distribute pip setup py 等等 我在学习曲线上有点挣扎 这比我预期的