Python 诗歌和剧本切入点
Python Poetry and Script Entrypoints
我正在尝试将 Poetry 和脚本选项用于 运行 脚本。像这样:
pyproject.toml
[tool.poetry.scripts]
xyz = "src.cli:main"
文件夹布局
.
├── poetry.lock
├── pyproject.toml
├── run-book.txt
└── src
├── __init__.py
└── cli.py
然后我像这样执行安装:
❯ poetry install
Installing dependencies from lock file
No dependencies to install or update
如果我然后尝试 运行 找不到命令 (?)
❯ xyz
zsh: command not found: xyz
我是不是漏掉了什么!谢谢,
Poetry 可能会在您的用户本地目录中安装脚本。例如,在 Ubuntu 上,这是 $HOME/.local/bin
。如果该目录不在您的路径中,您的 shell 将找不到该脚本。
旁注:在 src
目录中放置一个包含您的包名称的子目录通常是个好主意。通常最好不要在 src
目录中包含 __init__.py
。还可以考虑将 cli.py
重命名为 __main__.py
。这将使您的包成为 运行 作为使用 python -m package_name
.
的脚本
除了未激活虚拟环境或通过 poerty run xyz
运行 别名 (xyz
) 之外,您所做的一切都是正确的。可以通过 poetry shell
激活 virtualenv。之后 xyz
应该 运行 从你的 shell.
ps:@jisrael18 完全正确。通常在 src
文件夹中会有另一个文件夹(这是您的主要 python 模块)。
.
├── src
│ └── pyproj
│ ├── __init__.py
│ └── __main__.py
...
我正在尝试将 Poetry 和脚本选项用于 运行 脚本。像这样:
pyproject.toml
[tool.poetry.scripts]
xyz = "src.cli:main"
文件夹布局
.
├── poetry.lock
├── pyproject.toml
├── run-book.txt
└── src
├── __init__.py
└── cli.py
然后我像这样执行安装:
❯ poetry install
Installing dependencies from lock file
No dependencies to install or update
如果我然后尝试 运行 找不到命令 (?)
❯ xyz
zsh: command not found: xyz
我是不是漏掉了什么!谢谢,
Poetry 可能会在您的用户本地目录中安装脚本。例如,在 Ubuntu 上,这是 $HOME/.local/bin
。如果该目录不在您的路径中,您的 shell 将找不到该脚本。
旁注:在 src
目录中放置一个包含您的包名称的子目录通常是个好主意。通常最好不要在 src
目录中包含 __init__.py
。还可以考虑将 cli.py
重命名为 __main__.py
。这将使您的包成为 运行 作为使用 python -m package_name
.
除了未激活虚拟环境或通过 poerty run xyz
运行 别名 (xyz
) 之外,您所做的一切都是正确的。可以通过 poetry shell
激活 virtualenv。之后 xyz
应该 运行 从你的 shell.
ps:@jisrael18 完全正确。通常在 src
文件夹中会有另一个文件夹(这是您的主要 python 模块)。
.
├── src
│ └── pyproj
│ ├── __init__.py
│ └── __main__.py
...