Ric*_*ckD 9 python python-poetry
我尝试使用 Poetry 和脚本选项来运行脚本。就像这样:
\npyproject.toml
[tool.poetry.scripts]\nxyz = "src.cli:main"\nRun Code Online (Sandbox Code Playgroud)\n文件夹布局
\n .\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 poetry.lock\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 run-book.txt\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 cli.py\nRun Code Online (Sandbox Code Playgroud)\n然后我像这样执行安装:
\n\xe2\x9d\xaf poetry install\nInstalling dependencies from lock file\n\nNo dependencies to install or update\nRun Code Online (Sandbox Code Playgroud)\n如果我然后尝试运行该命令,则找不到(?)
\n\xe2\x9d\xaf xyz\nzsh: command not found: xyz\nRun Code Online (Sandbox Code Playgroud)\n我在这里错过了什么吗?谢谢,
\nPoetry 可能会将脚本安装在您的用户本地目录中。例如,在 Ubuntu 上,这是$HOME/.local/bin. 如果该目录不在您的路径中,您的 shell 将找不到该脚本。
旁注:通常最好在src目录中放置一个带有您的包名称的子目录。通常最好不要__init__.py在您的src目录中包含 。还可以考虑重命名cli.py为__main__.py. 这将允许您的包作为脚本运行python -m package_name。