Python CLI 应用程序在从 PyPI 安装时无法运行,在本地安装时运行良好

安特里克希

假设我正在开发一个名为 Example 的命令行应用程序,它的调用命令是example. 我写了一个看起来像这样的 setup.py:

import setuptools

setuptools.setup(
    name='example',
    version='1.0',
    entry_points = {
        'console_scripts': [
            'example=example.run:main'
        ]
    },
    ...
)

该文件与被调用的模块位于同一级别example(包括它__init__.py和所有。run.py里面有一个,带有一个main函数。

当我将这个正在进行的项目安装为符号链接时,使用...

pip3 install -e .

...它工作正常。我可以使用该example命令从任何地方运行它

但是当我按照这些说明将其上传到 PyPI 时,然后使用...

pip3 install example

... 它说...

Traceback (most recent call last):
  File "/usr/local/bin/example", line 7, in <module>
    from example.run import main
ModuleNotFoundError: No module named 'example'

当然,该项目实际上并没有被调用example与它的名字没有任何冲突。

博士

如果example要从文件安装模块,则example.py需要将其作为 Python 模块添加到setup.py

setuptools.setup(
    …
    py_modules=['example'],
    …
)

如果example是目录中的包,则example/需要将其添加为包:

setuptools.setup(
    …
    packages=['example'],
    …
)

如果子目录中example有子包,则example/*/需要列出所有子包:

setuptools.setup(
    …
    packages=['example', 'example.sub1', 'example.sub2'],
    …
)

您可以setuptools列出您的所有子包:

setuptools.setup(
    …
    packages=setuptools.find_packages()
    …
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python flask如何在从Pycharm运行应用程序时从终端访问CLI

来自分类Dev

应用程序在本地运行,使用ModuleNotFound在PyPi中失败

来自分类Dev

Python 程序在从文件夹或桌面打开时无法正常运行,但在 IDLE 中运行时运行良好

来自分类Dev

来自pypi的python模块无法安装?

来自分类Dev

来自pypi的python模块无法安装?

来自分类Dev

用于从 CLI 控制应用程序的 Python

来自分类Dev

为什么使用 python 而不是 Flask-CLI 运行 Flask 应用程序会产生 ImportError?

来自分类Dev

Heroku没有运行我的python应用程序,但是该应用程序在本地运行良好

来自分类Dev

Heroku没有运行我的python应用程序,但是该应用程序在本地运行良好

来自分类Dev

Python安装程序:“无法运行完成此安装所需的DLL”

来自分类Dev

安装后在Windows启动时运行的应用程序

来自分类Dev

安装后在Windows启动时运行的应用程序

来自分类Dev

Ember-CLI-运行默认应用程序时出错

来自分类Dev

在Sails.js应用程序中运行CLI命令

来自分类Dev

如何让Flatpak中的GUI应用程序运行CLI工具?

来自分类Dev

在Sails.js应用程序中运行CLI命令

来自分类Dev

运行 aurelia-cli 应用程序时出错

来自分类Dev

应用程序无法在从Visual Studio安装程序创建的管理模式下启动

来自分类Dev

将应用程序安装到设备Xcode 11.6时无法运行应用程序错误

来自分类Dev

如何安装python应用程序?

来自分类Dev

启动网络应用程序以运行python

来自分类Dev

如何从本地安装运行expressJS CLI

来自分类Dev

当使用`run --device` cli时,Cordova总是重新安装应用程序

来自分类Dev

Python,Ubuntu:安装特定Python版本的PyPi软件包

来自分类Dev

在从源代码安装应用程序的最后一步中,如何避免以root身份运行make?

来自分类Dev

我无法从Cloud Foundry CLI启动应用程序

来自分类Dev

如何将CLI Linux转换为GUI?或者至少如何在CLI linux中运行像Firefox这样的gui应用程序?正在安装x窗口系统?

来自分类Dev

自动运行的Python应用程序无法打开文件

来自分类Dev

通过 pip 从 PyPi 运行安装后代码

Related 相关文章

  1. 1

    python flask如何在从Pycharm运行应用程序时从终端访问CLI

  2. 2

    应用程序在本地运行,使用ModuleNotFound在PyPi中失败

  3. 3

    Python 程序在从文件夹或桌面打开时无法正常运行,但在 IDLE 中运行时运行良好

  4. 4

    来自pypi的python模块无法安装?

  5. 5

    来自pypi的python模块无法安装?

  6. 6

    用于从 CLI 控制应用程序的 Python

  7. 7

    为什么使用 python 而不是 Flask-CLI 运行 Flask 应用程序会产生 ImportError?

  8. 8

    Heroku没有运行我的python应用程序,但是该应用程序在本地运行良好

  9. 9

    Heroku没有运行我的python应用程序,但是该应用程序在本地运行良好

  10. 10

    Python安装程序:“无法运行完成此安装所需的DLL”

  11. 11

    安装后在Windows启动时运行的应用程序

  12. 12

    安装后在Windows启动时运行的应用程序

  13. 13

    Ember-CLI-运行默认应用程序时出错

  14. 14

    在Sails.js应用程序中运行CLI命令

  15. 15

    如何让Flatpak中的GUI应用程序运行CLI工具?

  16. 16

    在Sails.js应用程序中运行CLI命令

  17. 17

    运行 aurelia-cli 应用程序时出错

  18. 18

    应用程序无法在从Visual Studio安装程序创建的管理模式下启动

  19. 19

    将应用程序安装到设备Xcode 11.6时无法运行应用程序错误

  20. 20

    如何安装python应用程序?

  21. 21

    启动网络应用程序以运行python

  22. 22

    如何从本地安装运行expressJS CLI

  23. 23

    当使用`run --device` cli时,Cordova总是重新安装应用程序

  24. 24

    Python,Ubuntu:安装特定Python版本的PyPi软件包

  25. 25

    在从源代码安装应用程序的最后一步中,如何避免以root身份运行make?

  26. 26

    我无法从Cloud Foundry CLI启动应用程序

  27. 27

    如何将CLI Linux转换为GUI?或者至少如何在CLI linux中运行像Firefox这样的gui应用程序?正在安装x窗口系统?

  28. 28

    自动运行的Python应用程序无法打开文件

  29. 29

    通过 pip 从 PyPi 运行安装后代码

热门标签

归档