【问题标题】:How to check whl file correctly generated如何检查正确生成的 whl 文件
【发布时间】:2019-08-20 13:03:56
【问题描述】:

我在此链接之后生成了一个 .whl 文件: https://dzone.com/articles/executable-package-pip-install

现在我在我自己的机器上安装包来检查包是否安装成功。它安装成功。 但问题是当我导入它时,它给出了“ModuleNotFoundError”异常。 我想知道的是如何验证 .whl 文件是否正确生成和可用? 请帮助我在这里停留了 2 天。 这是我的 Setup.py 文件

这是我的包目录结构:

这是我的构建脚本的输出:

这是我的导入错误堆栈跟踪:

【问题讨论】:

  • 通过在 virtualenv、VM、Docker 容器、CI 服务中测试它...
  • 请告诉我们相关信息,即你​​的包/目录结构,setup.py的内容,python setup.py bdist_wheel的输出。
  • 轮子只是一个 zip 文件。您可以查看内部并检查是否所有应该在其中的文件实际上都存在。
  • 好的,一会儿显示
  • 添加了 Setup.py 和目录结构。请检查

标签: python pip python-wheel


【解决方案1】:

您已将TestFunc 声明为脚本(从命令行运行),而不是模块。 (我敢打赌,你还没有尝试过 import TestFunc 而不将东西打包成一个轮子。)

如果您正在尝试构建一个可以安装可导入模块的轮子,您需要将 TestFunc 重命名为 TestFunc.py(就像使用任何旧的 Python 模块一样!)然后使用

setup(
  # ...
  py_modules=["TestFunc"],
)

(可能最终packages=...)当您的项目增长时,但这不是重点) .

如果您确实希望将 TestFunc 作为从命令行运行的脚本,scripts 是正确的,但脚本必须是您的 shell 可以理解的内容 - 请参阅 the packaging guide here大意。

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 1970-01-01
    • 2021-04-26
    • 2021-04-17
    • 2018-02-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多