【问题标题】:How to create a Python Wheel Or Determine what modules / libraries are within a Python Wheel如何创建 Python Wheel 或确定 Python Wheel 中的模块/库
【发布时间】:2021-10-09 10:24:58
【问题描述】:

我正在尝试为 Great_Expectations 创建一个 Python Wheel。 Great_Expectations 提供的 .whl 存在于此处https://pypi.org/project/great-expectations/#files - great-expectations 0.13.25。不幸的是,这个 .whl 似乎没有包含我在 Azure Synapse Apache Spark Pool 中使用 Great_Expectations 所需的所有库。

因此,看起来我要么必须创建我自己的 Great_Expectations 打包一个 python 项目及其所有依赖项以进行离线 install.whl,要么至少尝试确定包含哪些库在现有包内great-expectations 0.13.25

因此,有人可以告诉我如何创建 Python Wheel(即 Python 包,以及 Great_Expectations 的所有依赖项)。或者,有人可以告诉我如何确定包中包含哪些模块/依赖项吗?

谢谢

【问题讨论】:

  • A .whl 只是包的 .zip 文件,扩展名为重命名。
  • " .whl 似乎没有包含我需要的所有库" – 你知道轮子 只是 包,而不是它的依赖项吗?跨度>
  • 如果有额外的依赖,需要使用pip download <module>下载每个.whl,然后从下载的轮子上安装。
  • @DiptangsuGoswami,我想理解你关于必须下载每个 .whl 的观点,但对于“从下载的轮子安装”有点不清楚?

标签: python-3.x apache-spark azure-synapse great-expectations


【解决方案1】:

要添加新的依赖项,请更新requirements.txt(您实际上需要在 setup.py 中更新install_requires,但在此项目中他们正在读取需求文件以获取需求)

您需要克隆 git 存储库以更新该列表。

然后要从该来源创建一个新轮子,只需运行:

python setup.py bdist_wheel

(如果轮子不存在,您可能需要运行pip install wheel

文档:wheel


关于第二个问题:Python Wheel 中有哪些模块/库?

只是包,依赖是在安装包时从源安装的。

【讨论】:

  • 嗨,阿尼,这太棒了。谢谢你。就在已经包含的库/依赖项上。 great_expectations-0.13.25-py3-none-any.whl 是否已经拥有至少让您在 Azure Synapse Apache Spark 中使用 Great_Expectations 启动和运行所需的库?
  • 我应该能够直接从 Apache Spark 运行 from setuptools import find_packages, setup 吗?或者我是否需要将 setup.py 作为工作区包安装在 Azure Synapse Apache Spark Pool 中?我希望我说得通
  • 即使在这里,依赖项也没有与您的包(whl)打包在一起,我们所做的只是要求python通过在安装包(whl)时从适当的源下载来安装要求。
  • 用给定的命令创建 whl 然后在你的遥控器上运行 pip 命令来安装whl 那里.. pip 将负责安装所需的依赖项,只要你的遥控器可以从 PyPI 下载(或一些索引)。
【解决方案2】:

考虑使用 Conda 包。它是为使 Python / Conda 包易于移植的用例而明确创建的

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 2014-07-17
    • 2017-08-16
    • 2023-02-09
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    相关资源
    最近更新 更多