python - Pip install -e packages don't appear in Docker -


i have requirements.txt file containing, amongst others:

flask-rq==0.2 -e git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo 

when try build docker container using docker compose, downloads both packages, , install them both, when pip freeze there no sign of -e package. when try run app, looks if package hasn't been installed. here's relevant output build:

collecting flask-rq==0.2 (from -r requirements.txt (line 3))   downloading flask-rq-0.2.tar.gz obtaining repo git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo (from -r requirements.txt (line 4))   cloning https://token:x-oauth-basic@github.com/user/repo.git ./src/repo 

and here's dockerfile:

from python:2.7  run mkdir -p /usr/src/app workdir /usr/src/app  copy requirements.txt /usr/src/app/ run pip install -r requirements.txt  copy . /usr/src/app 

i find situation strange , appreciate help.

i ran similar issue, , 1 possible way problem can appear from:

workdir /usr/src/app 

being set before pip install. pip create src/ directory (where package installed) inside of workdir. of shouldn't issue since app files, when copied over, should not overwrite src/ directory.

however, might mounting volume /usr/src/app. when that, you'll overwrite /usr/src/app/src directory , package not found.

so 1 fix move workdir after pip install. dockerfile like:

from python:2.7  run mkdir -p /usr/src/app  copy requirements.txt /usr/src/app/ run pip install -r /usr/src/app/requirements.txt  copy . /usr/src/app workdir /usr/src/app 

this fixed me. it'll work you.