Я пытаюсь построить контейнер-докер с флягой и gevent, и он не работает, как я надеялся. Я могу взломать его вместе, но почему не работает установка pip? Полная информация ниже.Почему «pip install» не работает с Flask и gevent внутри контейнера дойкера debian?
Dockerfile:
FROM debian:jessie
сборки контейнера:
docker build --pull --no-cache -t flask-test .
Run Контейнер:
docker run -it flask-test /bin/bash
В контейнере:
apt-get update
apt-get -y install python-pip
apt-get -y install python-dev
pip install Flask gevent
Тест:
python -c "from flask import Flask"
Ошибка:
[email protected]:/# python -c "from flask import Flask"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/flask/__init__.py", line 17, in <module>
from werkzeug.exceptions import abort
ImportError: No module named werkzeug.exceptions
Попробуйте исправить (забудьте пип):
apt-get -y install python-flask
тест снова. Ошибка:
[email protected]:/# python -c "from flask import Flask"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/flask/__init__.py", line 21, in <module>
from .app import Flask, Request, Response
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 26, in <module>
from . import json, cli
File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 17, in <module>
import click
ImportError: No module named click
Установить клик, что за черт.
pip install click
Теперь это работает.
[email protected]:/# python -c "from flask import Flask"
[email protected]:/#
EDIT: Я могу создать новый virtualenv на моем Macbook, pip install Flask gevent
и она отлично работает. Python версии 2.7.9-2 + deb8u1 в докере, Python 2.7.10 на моем macbook. Может ли это так?
EDIT 2: Выполненные выше команды фактически работают. То, что я действительно сделал (что было нарушено) было:
в контейнере:
apt-get update
apt-get -y install python-pip
pip install Flask gevent
apt-get -y install python-dev
pip install Flask gevent
Так, не пип установить их без питона-DEV!
Спасибо за ваш ответ. Я попробовал 'pip install -process-dependency-links Flask gevent' и' pip install -process-dependency-links -force-reinstall Flask gevent', и у меня возникают те же проблемы. :( – dfrankow
Я нашел свою проблему. Я все время запускал установку pupon перед установкой python-dev, а затем устанавливал python-dev. Я не думал, что это имеет значение, но это так. Я скоро удалю этот вопрос. – dfrankow