我正在尝试创建一个 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)
在你的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)
希望这有帮助。