我正在尝试在Python中使用Typer包。
我写了这段代码:
import typer
app = typer.Typer()
@app.command()
def hello(name: str):
print(f"Hello {name}")
我试着用这个命令来运行它:
python main.py hello Patryk
我的终端什么都没显示。没有错误,没有文本。
Python版本:Python 3.9.13(pipenv)系统:Macos Ventura 13.1航站楼:iTerm2内部版本3.4.18和Macos默认终端
我试着不使用pipenv,并在我的机器上安装所有的typer。
我也试过这段代码:
import typer
def main(name: str):
print(f"Hello {name}")
if __name__ == "__main__":
typer.run(main)
当我用下面的命令运行它时,它就工作了:
python main.py
2条答案
按热度按时间odopli941#
我找到了解决办法。要使它工作,你需要添加:
并且至少有2个命令,所以你的代码必须看起来像这样:
yb3bgrhw2#
您只是忘记在下面添加此内容:
然后像这样启动应用程序:
因为Typer已经定义了hello()作为程序执行时的默认动作,所以在这种情况下不需要在前面添加hello。
除非另外添加其他命令,否则必须指定要在运行时运行的命令: