【发布时间】:2015-12-23 21:26:40
【问题描述】:
我在构建 Docker 映像时收到此警告:
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:79:
InsecurePlatformWarning: A true SSLContext object is not available.
This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail.
For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
多个消息来源(如InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately)表示pip install pyopenssl ndg-httpsclient pyasn1 将解决此问题。但是一旦 pip 尝试安装 pyopenssl,我就会收到警告。
这是我的 Dockerfile:
FROM ubuntu:14.04
# Install packages
RUN apt-get update && apt-get install -y \
git \
libmysqlclient-dev \
mysql-server \
nginx \
python-dev \
python-mysqldb \
python-setuptools \
supervisor \
vim
RUN easy_install pip
# Handle urllib3 InsecurePlatformWarning
RUN apt-get install -y libffi-dev libssl-dev
RUN pip install pyopenssl ndg-httpsclient pyasn1
# ...more
【问题讨论】:
-
尝试使用 --upgrade 标志,例如:
RUN pip install --upgrade pyopenssl ndg-httpsclient pyasn1 -
运气不好(这是有道理的,因为在构建 Docker 映像时没有可供 pip 升级的现有软件包——除非我误解了
pip install --upgrade)。 -
尝试在
RUN apt-get install -y libffi-dev libssl-dev中添加libpython2.7-dev。最好pip install requests[security]而不是pip install pyopenssl -
谢谢,但还是没有运气。
-
你可以尝试直接从Ubuntu发行版安装urllib3和相关包,我认为是python-urllib3。
标签: python ubuntu docker pip urllib3