pip 和命令行的问题

6 python pip pypi python-3.x

我正在尝试创建一个 Python pip 包。这也很有效。我可以成功上传和下载包并在Python代码中使用它。我不能做的是通过命令行使用Python包。在另一篇 StackOverflow 帖子中,我找到了教程的链接。我试着跟随它。显然我犯了一个错误。你们能帮我吗? 通过 pip 安装软件包, 您可以看到安装成功了。不幸的是,整个脚本并不适合图像。 Pip 找不到该包。 不幸的是,我无法直接嵌入图像,所以我只是将它们作为链接嵌入。

我创建了一个简单的 Python 包。此处仅代表一个示例。在这里你可以看到文件夹的结构

Riffecs
|   .gitignore
|   .pylintrc
|   LICENSE
|   README.md
|   requirements.txt
|   setup.py
|
|
\---riffecs
        __init__.py
        __main__.py
Run Code Online (Sandbox Code Playgroud)

以下是显示的基本文件。

主要.py

Riffecs
|   .gitignore
|   .pylintrc
|   LICENSE
|   README.md
|   requirements.txt
|   setup.py
|
|
\---riffecs
        __init__.py
        __main__.py
Run Code Online (Sandbox Code Playgroud)

init.py

from . import hello_world

if __name__ == '__main__':
    hello_world()
Run Code Online (Sandbox Code Playgroud)

在下面您可以看到“setup.py”。我认为我已遵循指示。但显然我在某个地方犯了错误。你能帮我改正这个错误吗?

def hello_world():
    print("Hello world")
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 1

在你的setup.py文件中有这一行...

entry_points={'console_scripts': ['hello-world=riffecs:hello_world',]},
Run Code Online (Sandbox Code Playgroud)

这是通过命令行调用包的入口点。此配置要求入口点为hello-world,我尝试过并且运行良好。

但是,在您的映像中,您运行的riffecx内容未配置为包的入口点。

如果您希望入口点是riffecx. 将行更改为:

entry_points={'console_scripts': ['riffecx=riffecs:hello_world']},
Run Code Online (Sandbox Code Playgroud)

希望这有帮助。