Py学习  »  Python

Dockers-Flask Python错误

Elvin Pang • 5 年前 • 1427 次点击  

我正在尝试使用docker为我的flask应用程序部署创建一个映像我想我已经成功地创建了docker文件,如下所示:

FROM python:3.6-alpine

RUN adduser -D microblog

WORKDIR /Users/pangkachun/Desktop/New_Blog

COPY requirements.txt requirements.txt
RUN python -m venv venv
RUN venv/bin/pip install -r requirements.txt
RUN venv/bin/pip install gunicorn

COPY app app
COPY migrations migrations
COPY microblog.py config.py boot.sh ./
RUN chmod +x boot.sh

ENV FLASK_APP microblog.py

RUN chown -R microblog:microblog ./
USER microblog

EXPOSE 5000
ENTRYPOINT ["./boot.sh"]

和boot.sh,如下所示:

#!/bin/sh
source venv/bin/activate
flask db upgrade

exec gunicorn -b :5000 --access-logfile - --error-logfile - microblog:app

但是,发生了以下错误:

""" 命令“python setup.py egg_info”失败,错误代码为1 in/tmp/pip-install-n8a9ohsg/cffi/ 您使用的是PIP版本10.0.1,但版本18.1可用。 您应该考虑通过“pip install--upgrade pip”命令进行升级。 """

我已经检查了我的PIP和CFFI,它们已经是最新的。有人说这是因为我的一些项目依赖项是C依赖的,但是我没有C编译器我的requirements.txt如下

alembic==1.0.0
amqp==2.2.2
anyjson==0.3.3
Babel==2.6.0
beautifulsoup4==4.6.0
billiard==3.5.0.3
blinker==1.4
celery==4.1.0
certifi==2018.4.16
cffi==1.11.5
chardet==3.0.4
click==6.7
DateTime==4.2
Django==2.0.3
django-adaptors==0.2.5
django-bootstrap3==10.0.1
django-braces==1.13.0
django-celery==3.2.2
django-celery-results==1.0.1
dominate==2.3.4
elasticsearch==6.3.1
fake-useragent==0.1.10
Flask==0.12.2
Flask-Babel==0.11.2
Flask-Bootstrap==3.3.7.1
Flask-HTTPAuth==3.2.4
Flask-Login==0.4.1
Flask-Mail==0.9.1
Flask-Migrate==2.2.1
Flask-Moment==0.6.0
Flask-SocketIO==3.0.0
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
guess-language-spirit==0.5.3
gunicorn==19.9.0
httpie==1.0.0
idna==2.6
itsdangerous==0.24
Jinja2==2.9.6
kombu==4.1.0
lxml==4.1.1
Mako==1.0.7
MarkupSafe==1.0
misaka==2.1.0
numpy==1.13.1
opencv-python==3.2.0.8
pandas==0.22.0
pycparser==2.18
Pygments==2.2.0
PyJWT==1.6.4
python-dateutil==2.6.1
python-dotenv==0.9.1
python-editor==1.0.3
python-engineio==2.3.2
python-socketio==2.0.0
pytz==2018.3
redis==2.10.6
requests==2.18.4
rq==0.12.0
selenium==3.12.0
six==1.11.0
SQLAlchemy==1.2.12
urllib3==1.22
vine==1.1.4
virtualenv==15.1.0
visitor==0.1.3
Werkzeug==0.12.2
WTForms==2.2.1
yandex.translate==0.3.5
zope.interface==4.4.3

有人能告诉我有什么问题吗谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48393
 
1427 次点击  
文章 [ 1 ]  |  最新文章 5 年前
grapes
Reply   •   1 楼
grapes    6 年前

我认为错误信息看起来是不言而喻的。升级一下 pip 在你的内心 Dockerfile :

RUN pip install --upgrade pip

RUN python -m pip install --upgrade pip

在大多数Python发行版中,pip不是最新的,需要手动升级,而我看不到 皮普 在您的 停靠文件

同时尝试安装 gcc -有些python包需要编译,而alpine python没有 海合会 默认情况下。

RUN apk add -y gcc