【问题标题】:PyPi-installed app fails with ModuleNotFoundPyPi 安装的应用程序因 ModuleNotFound 而失败
【发布时间】:2020-12-01 10:22:15
【问题描述】:

我创建了一个project,它在本地运行良好,但在从 PyPi 部署/安装运行时失败,并带有 ModuleNotFound。该链接包含一个非常小的示例,以及运行/部署说明。我最初的想法是关于继承,但它似乎更基本。

Traceback (most recent call last):
  File "/Users/val/python/vscode/inheritance/venv/bin/inheritance-run", line 5, in <module>
    from inheritance.run import start
ModuleNotFoundError: No module named 'inheritance'

【问题讨论】:

  • 您应该添加更多详细信息:例如您在本地(成功)运行了哪个命令,输出是什么,您运行了什么命令导致了您发布的错误。您正在尝试做的事情以及您正在使用的技术的一些背景也会有所帮助。

标签: python pypi


【解决方案1】:

您的setup.py 有:

    packages=find_packages(),

这将在与您的 setup.py 文件相同的目录中找到模块(包含 __init__.py 文件的目录),但您没有。相反,您有一个 base.py 文件。

如果你希望能够import inheritance,你应该把它移动到一个名为inheritance的新目录中的__init__.py文件中,这样你就有了类似的东西:

.
├── inheritance
│   └── __init__.py
└── setup.py

然后setuptools 将找到此模块并将其作为可导入包包含在您的项目中。

仅供参考,不过,通常最好使用基于src 的布局。有关完整示例,请参阅 https://github.com/pypa/sampleproject/

【讨论】:

猜你喜欢
  • 2019-09-09
  • 2015-06-09
  • 2012-04-03
  • 2017-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-31
相关资源
最近更新 更多