Setup in virtualenv: `pip install -e .` vs `python setup.py install`

Viewed 6429

I'm following a Flask tutorial that has me using virtualenv, and with it I built an app directory tree that looks like this:

app/
|__app/
|__app.egg-inf/
|__setup.py
|__venv/

Inside my venv the tutorial tells me to run pip install -e . which appears to be using my setup.py to install dependencies and my application.

Why does the tutorial have me running pip install -e .? Why not python setup.py install? What are the differences?

(FWIW, export FLASK_APP=app; flask run works fine after pip install -e . but doesn't work after a python setup.py install)

1 Answers
Related