31

requirements.txtとりわけ、以下を含むファイルがあります。

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

Docker Compose を使用して Docker コンテナを構築しようとすると、両方のパッケージがダウンロードされ、両方がインストールされますpip freezeが、パッケージの兆候はありません-e。アプリを実行しようとすると、このパッケージがインストールされていないように見えます。ビルドからの関連する出力は次のとおりです。

Collecting Flask-RQ==0.2 (from -r requirements.txt (line 3))
  Downloading Flask-RQ-0.2.tar.gz
Obtaining repo from 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 to ./src/repo

そして、これが私のもの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

この状況は非常に奇妙であり、助けていただければ幸いです。

4

3 に答える 3

25

@mikexstudios は正しいです。これは、pip がパッケージ ソースを に保存するために発生し/usr/src/app/srcますが、その上にローカル ディレクトリをマウントしているため、python はパッケージ ソースを見つけることができません。

の位置を変更するのではなくWORKDIR、 pip コマンドを次のように変更して解決しました。

pip install -r requirements.txt --src /usr/local/src

イーサアプローチは機能するはずです。

于 2016-01-29T22:53:48.817 に答える