python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.11k stars 2.25k forks source link

Poetry using dependency that I haven't installed #1842

Closed zachvalenta closed 4 years ago

zachvalenta commented 4 years ago

Issue


In a Makefile, I have a rule using httpie to hit an endpoint:

get:
    source venv/bin/activate; http http://localhost:500

I'm porting the project to Poetry, so I updated the Makefile:

get:
    poetry run http http://localhost:500

However, I did not install httpie yet, as the pyproject.toml and poetry show displays:

flask 1.1.1 A simple framework for building complex web applications.
├── click >=5.1
├── itsdangerous >=0.24
├── jinja2 >=2.10.1
│   └── markupsafe >=0.23
└── werkzeug >=0.15

python-dotenv 0.10.3 Add .env support to your django/flask apps in development and deployments

And yet when I use the Makefile command (make get updated to use poetry run ) Poetry is still able to locate and use httpie, even though I haven't installed httpie yet.

At first I thought maybe I had httpie installed in some global way, but it's neither installed by pipx nor pip.

I suspect I've overlooked something obvious but at present can't figure out what, hence this ticket.

tomzx commented 4 years ago

What does which http return you? I'd investigate where the http binary is found and I'd also try running http outside of your python project. If it still works, that's unrelated to poetry.

zachvalenta commented 4 years ago

I did overlook something obvious. httpie was installed as a transitive dep for another Homebrew package. @tomzx thanks for the help, appreciate it.

github-actions[bot] commented 6 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.