gpt4 book ai didi

python - `poetry run black myscript.py` 和 `black myscript.py` 有什么区别?

转载 作者:行者123 更新时间:2023-12-05 01:27:09 27 4
gpt4 key购买 nike

基于poetry docs :

Likewise if you have command line tools such as pytest or black youcan run them using poetry run pytest

建议的使用方式black是:

poetry run black myscript.py

但是,如果我只是使用,我没有发现任何行为上的差异

black myscript.py

这两种方法有什么区别?

最佳答案

它允许您运行安装在虚拟环境中的 black(或 run 之后的任何命令)无需先激活您的虚拟环境.

相关说明在poetry run docs (强调我的):

The run command executes the given command inside the project’s virtualenv.

假设您有一个带有ma​​in.pypoetry-demo 项目,并且您安装了black:

poetry-demo$ ls
README.rst main.py poetry.lock poetry_demo pyproject.toml tests

poetry-demo$ poetry add black
The following packages are already present in the pyproject.toml and will be skipped:

• black

...

如果您没有首先激活您的虚拟环境(即 poetry shell)并且如果您没有在系统的其他任何地方安装 black,简单地执行 black file.py 会失败:

poetry-demo$ which black

poetry-demo$ black main.py
-bash: black: command not found

但是,使用poetry run,即使不激活您的虚拟环境,您也可以运行black:

poetry-demo$ poetry run black main.py
All done! ✨ 🍰 ✨
1 file left unchanged.

你困惑的根源可能是因为你已经激活了你的虚拟环境,所以真的没有区别:

poetry-demo$ poetry shell
Spawning shell within /path/to/virtualenvs/poetry-demo-hCA44HQ0-py3.8
poetry-demo$ . /path/to/virtualenvs/poetry-demo-hCA44HQ0-py3.8/bin/activate

(poetry-demo-hCA44HQ0-py3.8) poetry-demo$ black main.py
All done! ✨ 🍰 ✨
1 file left unchanged.

(poetry-demo-hCA44HQ0-py3.8) poetry-demo$ poetry run black main.py
All done! ✨ 🍰 ✨
1 file left unchanged.

关于python - `poetry run black myscript.py` 和 `black myscript.py` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69738316/

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