Open Mews opened 2 months ago
I have created script.py for this. I thought it was getting installed from here.
[tool.poetry.scripts]
post_install = "scripts:post_install"
For me I had to do pre-commit install
to get the hooks :/
I can try to look into it but I've never used poetry before.
Maybe this is something you could take a look at, though I agree that using something native to poetry would be better than using extensions: https://pypi.org/project/poetry-pre-commit-plugin/
From what I can tell the post_install
function is just never getting ran.
I tried changing it to this
import subprocess
def post_install() -> None:
with open("test.txt", "w") as f:
f.write("this function ran")
subprocess.run(["poetry", "run", "pre-commit", "install"], check=True)
And no file is created when running poetry install.
From what I can tell the [tool.poetry.scripts] option is actually for making cli scripts, so basically it lets you register a command for the cli. So what the pyproject.toml
is telling poetry is actually that it should register post_install
as a console command. And sure enough, if you just type post_install
in the command line, you get this:
Traceback (most recent call last):
File "C:\Users\Public\codg\forks\Scripts\\post_install", line 3, in <module>
from scripts import post_install
ModuleNotFoundError: No module named 'scripts'
I found this post by the creator of poetry and he says he doesn't support running scripts on installation, so its probably best to just have to person contributing run the pre-commit commands manually, or to use the extension I sent earlier (although it looks like you can't install the push hook automatically through the extension)
Running
poetry install --with dev
doesn't install the pre-commit hooks, as of right now they need to be installed manually throughpre-commit install