为 python 项目构建一个wheel/egg以及所有依赖项

2024-01-13

为了在我们公司内部署 python 项目,我需要制作一个可安装的发行版。

这应该包括:

  • 为我的项目提供一个鸡蛋或whl
  • 项目的每个依赖项都有一个 Egg 或 WHL
  • (可选)生成一个requirements.txt 文件,列出此版本的所有可安装组件

是否有一个简单的插件(例如 bdist_wheel 的替代品)不仅可以编译一个轮子,还可以编译该项目的组件?

显然我可以编写这个脚本,但我希望可能有一个捷径可以用更少的步骤构建包+依赖项。

这需要在 Windows + Linux 上的 Python 2.7 上运行。


您将需要创建一个setup.py文件为您的包。确保您安装了最新的 setuptools 和 pip。然后运行以下命令:

python setup.py bdist_wheel

这将为您的包创建一个wheel文件。这假设您没有 C/C++ 头文件、DLL 等。如果有,那么您可能还有很多工作要做。

要获取依赖项,您需要创建一个requirements.txt文件并运行以下命令:

pip wheel .

如果您的包不在 PyPI 上,那么您必须手动将包的wheel 文件复制到此命令创建的wheel 文件夹中。有关更多信息,请参阅以下精彩文章:

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

为 python 项目构建一个wheel/egg以及所有依赖项 的相关文章

  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • opencv人脸检测示例

    当我在设备上运行应用程序时 应用程序崩溃并显示以下按摩 java lang UnsatisfiedLinkError 无法加载 detector based tracker findLibrary 返回 null 我正在使用 OpenCV
  • 使用 Python 3 动态插入到 sqlite

    我想使用 sqlite 写入多个表 但我不想提前手动指定查询 有数十种可能的排列 例如 def insert sqlite tablename data list global dbc dbc execute insert into tab
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • 将 pandas 剪切操作转换为常规字符串

    我明白了 pandas cut 操作的输出 0 0 20 1 0 20 2 0 20 3 0 20 4 0 20 5 0 20 6 0 20 7 0 20 8 0 20 9 0 20 如何将 0 20 转换为 0 20 我正在这样做 str
  • OpenCV 跟踪器:模型未在函数 init 中初始化

    在视频的第一帧 我运行一个对象检测器 它返回对象的边界框 如下所示
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • 仅当某些值相等时,如何才能将一个文本文件中的值替换为另一个文本文件中的其他值?

    我有一个名为finalscores txt我想创建一个 python 脚本 它将打开它并从两个单独的列中读取值 这是我的finalscores txt file Atom nVa predppm avgppm stdev delta QPr
  • Jupyter 笔记本中未显示绘图图表

    我已经尝试解决这个问题几个小时了 我按照上面的步骤操作情节网站 https plot ly python getting started start plotting online并且图表仍然没有显示在笔记本中 这是我的情节代码 color
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 如何在 Seaborn 中的热图轴上表达类

    我使用 Seaborn 创建了一个非常简单的热图 显示相似性方阵 这是我使用的一行代码 sns heatmap sim mat linewidths 0 square True robust True sns plt show 这是我得到的
  • 如何从列表类别中对 pandas 数据框进行排序?

    所以我在下面有这个数据集 我想根据我的列表从 名称 列进行排序 以及按 A 升序和按 B 降序排序 import pandas as pd import numpy as np df1 pd DataFrame from items A 1
  • 如何在Windows 8上正确使用SCardGetStatusChange?

    智能卡服务在 Windows 8 上的行为有所不同 并且 MSDN 尚未更新其文档 任何人都可以提供有关如何正确调用 SCardGetStatusChange 来监视 Windows 8 上的智能卡操作的代码片段吗 提前致谢 这是我为个人博
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • 根据多个阈值将 SciPy 分层树状图切割成簇

    我想将 SciPy 的树状图切割成多个具有多个阈值的簇 我尝试过使用 fcluster 但它只能削减一个阈值 例如 这是我从另一个问题中摘取的一段代码 import pandas data pandas DataFrame total ru
  • 非法指令:MacOS High Sierra 上有 4 条指令

    我正在尝试在 pygame 3 6 中制作一个看起来像聊天的窗口 我刚刚将我的 MacBook 更新到版本 10 13 6 在我这样做之前它工作得很好 但在我收到消息之后 非法指令 4 Code import pygame from pyg
  • 将时间添加到日期时间

    我有一个像这样的日期字符串 然后使用strptime 所以就像这样 my time datetime datetime strptime 07 05 15 m d Y 现在我想添加 23 小时 59 分钟my time 我努力了 timed
  • django jet 中的自定义徽标

    我目前正在尝试对 django 管理面板的皮肤进行一些定制 以使其更符合我们的品牌 目前我们使用 django jet 来美化管理面板 django jet 可以自定义 css html 吗 所有评论都说我应该更改一些 html 文件 但我

随机推荐

  • 需要使用 R 从字符串列中提取单个字符

    背景 下面是我的gamedatadput 形式的数据集 它包含一些 MLB 比赛的比分 structure list team c NYM NYM BOS NYM BOS linescore c 010000000 10 1140006x
  • 如何在 Dhall 中将动态命名记录与静态记录合并?

    我正在 Dhall 中创建 AWS Step Function 定义 但是 我不知道如何创建他们使用的通用结构Choice如下例所示 Not Variable type StringEquals Private Next Public Th
  • 如何保存并添加游戏中获得的数值?

    我正在为我的游戏制作一个商店 我正在制作一个系统 我在游戏中获得的分数被保存 每次玩时它也会添加和保存 但这最后一部分不起作用我不知道为什么 我从另一个名为的脚本中获取一个变量score它收到我得到的值 并且必须将其添加到以前的值 但它不会
  • 如何计算销售范围内的排名

    如何计算销售级别定义的类别内的排名 假设我们希望将销售额高于某个阈值的产品标记为 高 类别 将低于该阈值的产品标记为 低 类别 这是一个示例数据 let Source Table FromRows Json Document Binary
  • 将 Vuetify 工具提示 (v-tooltip) 组件与外部激活器(即未包装)一起使用

    我了解如何使用 Vuetifyv 工具提示 https vuetifyjs com en components tooltips introduction工具提示包裹着组件 但是 我不太确定如何将激活按钮放在外面 例如我有这个 非工作代码
  • request.getServletPath() 从 Spring MVC 返回 null

    我做了一个过滤器来捕获HttpServletRequest所有请求的 servlet 路径 Override public void doFilter ServletRequest req ServletResponse res Filte
  • react-native-multiple-select 存储提交时选择的项目

    我正在使用react native multiple select并尝试创建一个下拉菜单 允许用户选择多个选项 然后将他们选择的选项记录到数组中 目前 我的代码是 onSelectedItemsChange selectedItems gt
  • 使用javascript检测设备CPU/GPU性能?

    这个问题并不特定于 Three js 但我会用它作为例子 我最近一直在使用 Three js 开发 Web 应用程序界面 并在 WebGL 和 Canvas 渲染器 针对桌面浏览器 之间编写了一些不错的后备程序 但现在的问题变成了如何正确检
  • C/C++ 中 \x 是什么意思?

    Example char arr xeb x2a BTW 以下内容相同吗 xeb x2a vs xeb x2a x表示十六进制字符转义 它用于指定不可输入的字符 例如 null x00 And xeb x2a 是一个文字字符串 类型是cha
  • git pull --rebase:传递 --rebase-merges

    这是我在重新调整当前分支的基础时通常会做的事情 同时防止本地分支变平 git fetch origin git rebase r origin develop r is rebase merges 我更喜欢 preserve merges
  • 从自定义键盘/谷歌键盘在 android 中的 Edittext 中插入图像/贴纸/gif

    我尝试使用 Google 键盘等键盘插入表情符号Gboard to my edittext但它显示吐司This text field does not support GIF insertion from the keyboard 有几个关
  • 如何将共享唯一 ID 的行合并到逗号分隔的表中

    我想请求一些关于如何将共享唯一 ID 的行合并到逗号分隔表中的提示 非常感谢 Perl sed 或 awk 中的任何提示 这就是我现在的表格的样子 protein id go id 4102 GO 0003676 4125 GO 00036
  • 如何在 R 中将数据移动两个月?

    我想将我的全部数据减少两个月 例如 如果我的数据从 1 月 1 日开始 我想以数据对应于 3 月 1 日的方式移动数据 同样 11 月数据将成为下一年 1 月数据 这是我的示例代码 DF lt data frame seq as Date
  • log4net RollingFileAppender 和 IIS 7.5

    我正在尝试在 IIS 7 5 Server 2008 R2 上将 log4net 与 RollingFileAppender 一起使用 然而 我的旧 IIS 6 Server 2003 盒子中的配置似乎不再起作用 我根本没有看到任何日志文件
  • 使用 Castle Windsor 为单个接口注册多个组件

    我正在尝试使用下面的代码注册多个 NHibernate ISession 多个数据库 我收到 已经为给定密钥 Castle MicroKernel Registration GenericFactory 1 NHibernate ISess
  • 为什么我的重绘不起作用?

    考虑到扩展了 Canvas 的 Display 类 我遇到了一个问题 单个线程在同一个类中运行 在这个线程中 调用了repaint方法 然而 虽然线程工作正常 但油漆方法从未被调用 这是我的代码 我遗漏了所有不相关的内容 package d
  • 可以修改字典值。正确的方法是什么?

    我有已填充的字典 但我无法控制 我需要修改该值我该怎么做 我举了一个例子来解释这个问题 class Program static void Main string args Dictionary
  • 在二维数组上查找第 K 个最小元素(或中值)的最快算法?

    我看到很多相关主题的 SO 主题 但没有一个提供有效的方法 我想找到k th二维数组上的最小元素 或中值 1 M 1 N 其中每行按升序排序 并且所有元素都是不同的 我认为有O M log MN 解决方案 但我不知道实施 中位数的中位数或使
  • 在 pyjade 解决方法中包含 mixin

    正如github问题中提到的 70 https github com SyrusAkbary pyjade issues 70包括 mixins 不受支持 有什么好的解决方法或替代解决方案吗 Pyjade 的 include 实现不支持 m
  • 为 python 项目构建一个wheel/egg以及所有依赖项

    为了在我们公司内部署 python 项目 我需要制作一个可安装的发行版 这应该包括 为我的项目提供一个鸡蛋或whl 项目的每个依赖项都有一个 Egg 或 WHL 可选 生成一个requirements txt 文件 列出此版本的所有可安装组