gpt4 book ai didi

python - 如何在无需键入python3的情况下将Python程序转换为CLI?

转载 作者:行者123 更新时间:2023-12-02 21:05:42 25 4
gpt4 key购买 nike

不用打字

$ python3 Program.py -<flags> arguments, etc

我希望能够对git clone进行DL处理,然后能够输入
$ Program -<flags> arguments, etc 
# program name without the .py extension

我已经看到其他程序具有.yaml文件,req.txt文件并对其进行了docker化处理,但是我找不到任何可以向我展示如何执行此操作的文件。所有的教程和指南都缺少使它们变得简单的命令行程序的方法。

我已经完成了所有的工作,等等,但是我正在寻找有关如何对其进行docker化并直接运行而无需导航至dest文件夹的指南或说明

最佳答案

如果您正在考虑分发程序,则可能应该在包的setup.py文件中添加CLI入口点。

例如:

项目结构

ROOT/
- setup.py
- src/
- program.py
src/program.py
# program.py

def main():
pass
setup.py
# setup.py

from setuptools import find_packages, setup

setup(
name='my_program',
version='1.0.0',
packages=find_packages(),
entry_points={
'console_scripts': [
'Program=src.program:main'
]
}
)

重要的是 'Program=src.program:main'行:它将名称 Program(从命令行调用的名称)与 main的函数 src/program.py关联。

请注意,此名称可以是任何名称-不一定需要与您的软件包名称,python文件名称等相关。

您可以对软件包执行本地安装以进行测试。

ROOT目录中,键入 $ pip install -e .之后,键入
$ Program

在终端 中的任何目录中,将执行 main中的 src/program.py函数。

如果有人通过PyPI而不是本地安装 pip install来打包您的软件包,则此行为是相同的。

关于python - 如何在无需键入python3的情况下将Python程序转换为CLI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58222372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com