哪些脚本会进入 Python 包的 bin 文件夹?

2024-04-02

我正在从《Learn Python the Hard Way》及其中提到的练习之一中学习 Python 包:

在bin目录下放置一个可以运行的脚本

对我来说,这似乎有点模糊。我不太确定 bin 文件夹中会包含什么样的脚本。搭便车者的包装指南 https://the-hitchhikers-guide-to-packaging.readthedocs.io/ says

将您编写的使用您的包并且您认为对您的用户有用的所有脚本放入 bin 中。如果没有,则删除 bin 目录。

但我仍然想知道里面会写什么样的脚本。所以,我知道这可能听起来像一个愚蠢的问题,但是有人可以给我举一个例子,说明何时以及为什么将“脚本”放入包的 bin 文件夹中?


我自己最近刚刚通过了 LPTHW 的 Ex46。和你一样,我对剧本感到困惑。如果其他答案对您来说太高级,我最终只是添加了一个简单的“hello world”脚本:

#!/usr/bin/env python

from test3 import printstring
printstring.printstring("test script working")
print "test over"

我将该文件命名为 testscript3.py (*注意,我后来了解到,如果它是一个我希望看起来像系统命令的真实脚本,则省略 .py 文件扩展名会更方便)

我的文件 test3.py 是这样的:

def printstring(s='you did not provide string'):
    print s

以下是我在尝试让此过程发挥作用时学到的一些新手知识:

  • 这 #!符号有时发音为 shebang,简单的解释是该行的命令告诉 shell 使用 python 来运行脚本。如果省略“.py”文件扩展名,则脚本的用户不需要关心运行脚本需要什么解释器。看维基百科 Shebang 文章 http://en.wikipedia.org/wiki/Shebang_%28Unix%29.

  • 我运行了以下命令来打包发行版:

    python setup.py sdist

  • 完成此操作后,我可以通过运行来安装包和脚本

    sudo pip install test3-0.1.tar.gz

  • 我担心的一件事是脚本文件的权限。然而,我注意到 distutils 在打包时处理了这个问题(将模式更改为 755 或其他)。

你可以找到我的本示例的整个项目位于 github 上 https://github.com/stevekochscience/Test-python-package-with-script-LPTHW-EX46.

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

哪些脚本会进入 Python 包的 bin 文件夹? 的相关文章

随机推荐

  • 有什么可能的方法从沙盒应用程序运行 clang 编译器吗?

    好的 这个问题相当简单 我有一个沙盒 OSX 应用程序 我希望用户能够编译一些 C 代码 无论他输入什么 但每当我尝试拨打电话时 usr bin env clang the path to the source c 我在日志中收到以下错误
  • 插入按钮没有将数据插入数据库,并且根本没有给出错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 这是包含插入方法的类 我先填充字段 然后创建属性 然后插入方法 然后转到另一个类并创建插入按钮 请帮忙 根本没有给出错误 usin
  • 如何请求Android用户通过点击启用蓝牙?

    from http developer android com guide topics connectivity bluetooth html http developer android com guide topics connect
  • 仅使用 HTML 和 CSS 创建下拉按钮?

    是否可以仅使用 HTML 和 CSS 创建一个带有下拉菜单的按钮 a Take Action a ul li action 1 li li action 2 li ul 单击链接时 悬停也可以 但首选单击 我希望显示 ul actions
  • 抽象声明中没有参数名称?

    这是 F 中抽象成员的典型声明 abstract member createEmployee string gt string gt Employee 您定义参数类型 但不定义它们的名称 没有名字 在实现接口时如何知道每个参数是什么 换句话
  • 如何使用 Kotlin 就地过滤列表?

    在 Java 中 我可以使用以下代码从列表中删除项目 private void filterList List
  • 消除录音曲目中当前播放曲目的声音

    我希望使用远程 IO 进行音频录制和播放 我对核心音频的理解很差 因为我遵循惊人的音频开源 http theamazingaudioengine com 到目前为止 我可以使用相同的代码进行录制和播放 现在我尝试通过麦克风录制并通过 iPh
  • 特定接口上的 TCP/IP 连接

    我想使用两个网络路由之一连接到服务器 一个人会怎样做呢 我在 Google 上搜索了很多 常见的答案是修改路由表 但这并没有什么帮助 因为目的地只有一个 IP 地址 大多数示例都具有具有单个网卡的客户端和具有多个网卡的服务器 但在本例中情况
  • Shell 正则表达式到行尾

    我有一个像这样的小例子的文件 mode dev 该文件中某处的注释中有一个 变量 我想在 Shell 脚本中使用正则表达式获取值 到目前为止我的代码 bin bash conf lt etc test conf Get the file c
  • 队列上的 IEnumerable 迭代器是否应该使项目出列

    我创建了一个自定义通用队列 它实现了通用 IQueue 接口 该接口使用 System Collections Generic 命名空间中的通用队列作为私有内部队列 示例已清除不相关的代码 public interface IQueue
  • 您应该如何从源代码控制构建数据库?

    SO 社区 wiki 上有一些关于数据库对象是否应该进行版本控制的讨论 然而 我还没有看到太多关于为数据库对象创建构建自动化过程的最佳实践的讨论 对于我的团队来说 这一直是一个有争议的讨论点 特别是因为开发人员和 DBA 在评估数据库部署自
  • 如何在 ElasticSearch 中基于正则表达式过滤令牌

    对于 ElasticSearch 查询 我们希望以不同的方式处理单词 即仅由字母组成的标记 和非单词 为此 我们尝试定义两个分析器 返回单词或非单词 例如 我们有描述五金店产品的文档 name Torx drive T9 category
  • 字符串搜索算法

    对于两种字符串搜索算法 KMP和后缀树 在什么情况下优选哪种 举一些实际的例子 如果您必须回答很多查询 例如 大海捞针是否存在 则后缀树会更好 如果您只需在另一个字符串中搜索一个字符串 而不需要执行很多次 那么 KMP 会更好 后缀树是一种
  • SwiftUI - 将 SceneKit 场景添加到 MacOS 项目

    目标 使用 UIViewRepresentable 将 SceneKit 场景添加到 SwiftUI MacOS 项目 不是 Catalyst 我做了什么 当目标是 SwiftUI iOS 时 以下代码可以正常工作 但是当目标是 MacOS
  • Node教程一对多无加载远程服务器Stream Spinner动不停

    我对在项目中使用所需的 Kurrento 很陌生 但是当我克隆 git hub 上为 Kurento 提供的教程并遵循 one2Many 调用的说明时 首先 adapter js 的软件包损坏了 因为我成功解决了它们 但之后出现了一个问题
  • 在 turfjs 中创建多个多边形的联合的最快方法是什么?

    我有这样的东西 但对于大集合来说 速度非常慢 let unionize triangles gt if triangles length 0 return null let ret triangles 0 feature triangles
  • Func<> 获取参数信息

    如何获取传入参数的值Func lt gt C 中的 Lambda IEnumerable
  • 如何将 OData 键值添加到我的实体框架类?

    我正在使用 MVC 5 Microsoft OData 2 1 和 Entity Framework 6 我尝试使用我使用 EntitySetController 类编写的 OData 源 当我添加服务引用并使用 OData 元数据时 它可
  • Maven 货物部署到 war 文件无法作为 teamcity 的一部分部署

    相同的部署在 Windows 和 Linux 上可以正常工作 但使用 teamcity 及其内置 Maven 时出现错误 本地部署 报错 容器配置目录 BuildAgent work 68d4a71c8dc5cfd9 target carg
  • 哪些脚本会进入 Python 包的 bin 文件夹?

    我正在从 Learn Python the Hard Way 及其中提到的练习之一中学习 Python 包 在bin目录下放置一个可以运行的脚本 对我来说 这似乎有点模糊 我不太确定 bin 文件夹中会包含什么样的脚本 搭便车者的包装指南