【问题标题】:Debugging pypi packaging: pip install succeeds, but ModuleNotFound on import调试 pypi 打包:pip install 成功,但导入时 ModuleNotFound
【发布时间】:2019-12-12 02:42:23
【问题描述】:

我已经打包了一个库并上传到 Pypi。 Pip install 工作,但 import 给出“找不到模块”错误,有什么建议如何调试?

pip install autograd_lib .       # works
python -c "import autograd_lib"  # ModuleNotFoundError: No module named 'autograd_lib'

【问题讨论】:

  • 我假设你的意思是 python -c ?您是否已验证该库是否安装在您认为适用于您正在运行的 Python 版本的位置?
  • 我不认为这是本地环境的问题,只是在一个全新的盒子上尝试了pip install autograd_lib,同样的问题
  • 我自己 pip 安装了它,站点包有 dist-info 文件夹,但没有实际的库。
  • pip show --files autograd_lib 的输出将显示实际安装了哪些文件。如果看起来不正确,请显示项目的打包方式(setup.pysetup.cfgpyproject.toml)。

标签: python pypi


【解决方案1】:

您的autograd_lib/ 子目录没有文件__init__.py,因此setuptools.find_packages() 不将其视为一个包,因此setuptools 不会将其包含在档案中。

只需在目录中创建一个空文件__init__.py,增加版本并创建一个新版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2014-02-27
    • 1970-01-01
    • 2023-01-31
    • 2016-07-17
    • 2022-07-13
    相关资源
    最近更新 更多