首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么"pip“不能在debian坞容器中与水瓶和gevent一起工作?

为什么"pip“不能在debian坞容器中与水瓶和gevent一起工作?
EN

Stack Overflow用户
提问于 2017-01-08 22:01:07
回答 2查看 1.1K关注 0票数 0

我正试图用烧瓶和盖子建造一个码头集装箱,但它并没有像我所希望的那样起作用。我可以把它黑到一起,但是为什么pip安装不工作?详细情况如下。

Dockerfile:

代码语言:javascript
复制
FROM debian:jessie

建造容器:

代码语言:javascript
复制
docker build --pull --no-cache -t flask-test .

运行容器:

代码语言:javascript
复制
docker run -it flask-test /bin/bash

集装箱内:

代码语言:javascript
复制
apt-get update
apt-get -y install python-pip
apt-get -y install python-dev
pip install Flask gevent

测试:

代码语言:javascript
复制
python -c "from flask import Flask"

错误:

代码语言:javascript
复制
root@2fe825b7f55e:/# 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

尝试修复(忘记pip):

代码语言:javascript
复制
apt-get -y install python-flask

再试一次。错误:

代码语言:javascript
复制
root@2fe825b7f55e:/# 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

安装点击,什么鬼东西。

代码语言:javascript
复制
pip install click

现在起作用了。

代码语言:javascript
复制
root@2fe825b7f55e:/# python -c "from flask import Flask"
root@2fe825b7f55e:/# 

编辑:我可以在我的macbook pip install Flask gevent上创建一个新的虚拟主机,它工作得很好。Python版本2.7.9-2+借方8u 1在docker,Python2.7.10在我的macbook上。会是这样吗?

编辑2:上面的命令实际上有效。我真正做的(被打破的)是:

集装箱内:

代码语言:javascript
复制
apt-get update
apt-get -y install python-pip
pip install Flask gevent
apt-get -y install python-dev
pip install Flask gevent

因此,在没有python的情况下不会安装这些文件!

EN

回答 2

Stack Overflow用户

发布于 2017-01-09 10:50:14

尝试使用pip install标志执行--process-dependency-links

您还可以尝试--force-reinstall标志,以防止停靠图像有一个旧版本的烧瓶。

票数 1
EN

Stack Overflow用户

发布于 2017-01-09 16:51:01

上面的命令实际上有效。我真正做的(被打破的)是:

集装箱内:

代码语言:javascript
复制
apt-get update
apt-get -y install python-pip
pip install Flask gevent
apt-get -y install python-dev
pip install Flask gevent

我以为这不重要,也没有注意到,但它确实很重要。

因此,在没有python的情况下不会安装这些文件!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41538376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档