Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
e8a8f262
P
Paddle
项目概览
BaiXuePrincess
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e8a8f262
编写于
11月 24, 2018
作者:
M
minqiyang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add Python3.6 and Python3.7 support in Ubuntu Dockerfile
test=develop
上级
a5ddd827
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
118 addition
and
82 deletion
+118
-82
Dockerfile
Dockerfile
+118
-82
未找到文件。
Dockerfile
浏览文件 @
e8a8f262
...
...
@@ -22,6 +22,27 @@ ENV HOME /root
# Add bash enhancements
COPY
./paddle/scripts/docker/root/ /root/
# Prepare packages for Python
RUN
apt-get update
&&
\
apt-get
install
-y
make build-essential libssl-dev zlib1g-dev libbz2-dev
\
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev
\
xz-utils tk-dev libffi-dev liblzma-dev
# Install Python3.6
RUN
mkdir
-p
/root/python_build/
&&
wget
-q
https://www.sqlite.org/2018/sqlite-autoconf-3250300.tar.gz
&&
\
tar
-zxf
sqlite-autoconf-3250300.tar.gz
&&
cd
sqlite-autoconf-3250300
&&
\
./configure
-prefix
=
/usr/local
&&
make
-j8
&&
make
install
&&
cd
../
&&
rm
sqlite-autoconf-3250300.tar.gz
&&
\
wget
-q
https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
&&
\
tar
-xzf
Python-3.6.0.tgz
&&
cd
Python-3.6.0
&&
\
CFLAGS
=
"-Wformat"
./configure
--prefix
=
/usr/local/python3.6
--enable-shared
>
/dev/null
&&
\
make
-j8
>
/dev/null
&&
make altinstall
>
/dev/null
# Install Python3.7
RUN
wget
-q
https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
&&
\
tar
-xzf
Python-3.7.0.tgz
&&
cd
Python-3.7.0
&&
\
CFLAGS
=
"-Wformat"
./configure
--prefix
=
/usr/local/python3.7
--enable-shared
>
/dev/null
&&
\
make
-j8
>
/dev/null
&&
make altinstall
>
/dev/null
RUN
apt-get update
&&
\
apt-get
install
-y
--allow-downgrades
patchelf
\
python3 python3-dev python3-pip
\
...
...
@@ -34,88 +55,103 @@ RUN apt-get update && \
liblapack-dev liblapacke-dev
\
clang-3.8 llvm-3.8 libclang-3.8-dev
\
build-essential checkinstall
\
libreadline-
gplv2-
dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
\
libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
\
net-tools libtool ccache
&&
\
apt-get clean
-y
COPY
tools/manylinux1/build_scripts/* /root/python/
RUN
cd
/root/python/
&&
source
build_utils
&&
MY_DIR
=
/root/python/ build_cpythons 3.6.0 3.7.0
# # Install Go and glide
# RUN wget -qO- https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz | \
# tar -xz -C /usr/local && \
# mkdir /root/gopath && \
# mkdir /root/gopath/bin && \
# mkdir /root/gopath/src
# ENV GOROOT=/usr/local/go GOPATH=/root/gopath
# # should not be in the same line with GOROOT definition, otherwise docker build could not find GOROOT.
# ENV PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
# # install glide
# RUN curl -s -q https://glide.sh/get | sh
# # Install TensorRT
# # following TensorRT.tar.gz is not the default official one, we do two miny changes:
# # 1. Remove the unnecessary files to make the library small. TensorRT.tar.gz only contains include and lib now,
# # and its size is only one-third of the official one.
# # 2. Manually add ~IPluginFactory() in IPluginFactory class of NvInfer.h, otherwise, it couldn't work in paddle.
# # See https://github.com/PaddlePaddle/Paddle/issues/10129 for details.
# RUN wget -qO- http://paddlepaddledeps.cdn.bcebos.com/TensorRT-4.0.0.3.Ubuntu-16.04.4.x86_64-gnu.cuda-8.0.cudnn7.0.tar.gz | \
# tar -xz -C /usr/local && \
# cp -rf /usr/local/TensorRT/include /usr && \
# cp -rf /usr/local/TensorRT/lib /usr
# # git credential to skip password typing
# RUN git config --global credential.helper store
# # Fix locales to en_US.UTF-8
# RUN localedef -i en_US -f UTF-8 en_US.UTF-8
# # FIXME: due to temporary ipykernel dependency issue, specify ipykernel jupyter
# # version util jupyter fixes this issue.
# # specify sphinx version as 1.5.6 and remove -U option for [pip install -U
# # sphinx-rtd-theme] since -U option will cause sphinx being updated to newest
# # version(1.7.1 for now), which causes building documentation failed.
# RUN pip3 install -U wheel && \
# pip3 install -U docopt PyYAML sphinx==1.5.6 && \
# pip3 install sphinx-rtd-theme==0.1.9 recommonmark && \
# easy_install -U pip && \
# pip install -U pip setuptools wheel && \
# pip install -U docopt PyYAML sphinx==1.5.6 && \
# pip install sphinx-rtd-theme==0.1.9 recommonmark
# RUN pip3 install 'pre-commit==1.10.4' 'ipython==5.3.0' && \
# pip3 install 'ipykernel==4.6.0' 'jupyter==1.0.0' && \
# pip3 install opencv-python && \
# pip install 'pre-commit==1.10.4' 'ipython==5.3.0' && \
# pip install 'ipykernel==4.6.0' 'jupyter==1.0.0' && \
# pip install opencv-python
# #For docstring checker
# RUN pip3 install pylint pytest astroid isort
# RUN pip install pylint pytest astroid isort LinkChecker
# COPY ./python/requirements.txt /root/
# RUN pip3 install -r /root/requirements.txt
# RUN pip install -r /root/requirements.txt
# # To fix https://github.com/PaddlePaddle/Paddle/issues/1954, we use
# # the solution in https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2
# RUN apt-get install -y libssl-dev libffi-dev
# RUN pip3 install certifi urllib3[secure]
# RUN pip install certifi urllib3[secure]
# # Install woboq_codebrowser to /woboq
# RUN git clone https://github.com/woboq/woboq_codebrowser /woboq && \
# (cd /woboq \
# cmake -DLLVM_CONFIG_EXECUTABLE=/usr/bin/llvm-config-3.8 \
# -DCMAKE_BUILD_TYPE=Release . \
# make)
# # Configure OpenSSH server. c.f. https://docs.docker.com/engine/examples/running_ssh_service
# RUN mkdir /var/run/sshd
# RUN echo 'root:root' | chpasswd
# RUN sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
# RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
# EXPOSE 22
# Install Go and glide
RUN
wget
-qO-
https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz |
\
tar
-xz
-C
/usr/local
&&
\
mkdir
/root/gopath
&&
\
mkdir
/root/gopath/bin
&&
\
mkdir
/root/gopath/src
ENV
GOROOT=/usr/local/go GOPATH=/root/gopath
# should not be in the same line with GOROOT definition, otherwise docker build could not find GOROOT.
ENV
PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
# install glide
RUN
curl
-s
-q
https://glide.sh/get | sh
# Install TensorRT
# following TensorRT.tar.gz is not the default official one, we do two miny changes:
# 1. Remove the unnecessary files to make the library small. TensorRT.tar.gz only contains include and lib now,
# and its size is only one-third of the official one.
# 2. Manually add ~IPluginFactory() in IPluginFactory class of NvInfer.h, otherwise, it couldn't work in paddle.
# See https://github.com/PaddlePaddle/Paddle/issues/10129 for details.
RUN
wget
-qO-
http://paddlepaddledeps.cdn.bcebos.com/TensorRT-4.0.0.3.Ubuntu-16.04.4.x86_64-gnu.cuda-8.0.cudnn7.0.tar.gz |
\
tar
-xz
-C
/usr/local
&&
\
cp
-rf
/usr/local/TensorRT/include /usr
&&
\
cp
-rf
/usr/local/TensorRT/lib /usr
# git credential to skip password typing
RUN
git config
--global
credential.helper store
# Fix locales to en_US.UTF-8
RUN
localedef
-i
en_US
-f
UTF-8 en_US.UTF-8
# FIXME: due to temporary ipykernel dependency issue, specify ipykernel jupyter
# version util jupyter fixes this issue.
# specify sphinx version as 1.5.6 and remove -U option for [pip install -U
# sphinx-rtd-theme] since -U option will cause sphinx being updated to newest
# version(1.7.1 for now), which causes building documentation failed.
RUN
pip3.5
install
-U
wheel
&&
\
pip3.5
install
-U
docopt PyYAML
sphinx
==
1.5.6
&&
\
pip3.5
install
sphinx-rtd-theme
==
0.1.9 recommonmark
&&
\
pip3.6
install
-U
wheel
&&
\
pip3.6
install
-U
docopt PyYAML
sphinx
==
1.5.6
&&
\
pip3.6
install
sphinx-rtd-theme
==
0.1.9 recommonmark
&&
\
pip3.7
install
-U
wheel
&&
\
pip3.7
install
-U
docopt PyYAML
sphinx
==
1.5.6
&&
\
pip3.7
install
sphinx-rtd-theme
==
0.1.9 recommonmark
&&
\
easy_install
-U
pip
&&
\
pip
install
-U
pip setuptools wheel
&&
\
pip
install
-U
docopt PyYAML
sphinx
==
1.5.6
&&
\
pip
install
sphinx-rtd-theme
==
0.1.9 recommonmark
RUN
pip3.5
install
'pre-commit==1.10.4'
'ipython==5.3.0'
&&
\
pip3.5
install
'ipykernel==4.6.0'
'jupyter==1.0.0'
&&
\
pip3.5
install
opencv-python
&&
\
pip3.6
install
'pre-commit==1.10.4'
'ipython==5.3.0'
&&
\
pip3.6
install
'ipykernel==4.6.0'
'jupyter==1.0.0'
&&
\
pip3.6
install
opencv-python
&&
\
pip3.7
install
'pre-commit==1.10.4'
'ipython==5.3.0'
&&
\
pip3.7
install
'ipykernel==4.6.0'
'jupyter==1.0.0'
&&
\
pip3.7
install
opencv-python
&&
\
pip
install
'pre-commit==1.10.4'
'ipython==5.3.0'
&&
\
pip
install
'ipykernel==4.6.0'
'jupyter==1.0.0'
&&
\
pip
install
opencv-python
#For docstring checker
RUN
pip3.5
install
pylint pytest astroid isort
RUN
pip3.6
install
pylint pytest astroid isort
RUN
pip3.7
install
pylint pytest astroid isort
RUN
pip
install
pylint pytest astroid isort LinkChecker
COPY
./python/requirements.txt /root/
RUN
pip3.5
install
-r
/root/requirements.txt
RUN
pip3.6
install
-r
/root/requirements.txt
RUN
pip3.7
install
-r
/root/requirements.txt
RUN
pip
install
-r
/root/requirements.txt
# To fix https://github.com/PaddlePaddle/Paddle/issues/1954, we use
# the solution in https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2
RUN
apt-get
install
-y
libssl-dev libffi-dev
RUN
pip3.5
install
certifi urllib3[secure]
RUN
pip3.6
install
certifi urllib3[secure]
RUN
pip3.7
install
certifi urllib3[secure]
RUN
pip
install
certifi urllib3[secure]
# Install woboq_codebrowser to /woboq
RUN
git clone https://github.com/woboq/woboq_codebrowser /woboq
&&
\
(
cd
/woboq
\
cmake
-DLLVM_CONFIG_EXECUTABLE
=
/usr/bin/llvm-config-3.8
\
-DCMAKE_BUILD_TYPE
=
Release
.
\
make
)
# Configure OpenSSH server. c.f. https://docs.docker.com/engine/examples/running_ssh_service
RUN
mkdir
/var/run/sshd
RUN
echo
'root:root'
| chpasswd
RUN
sed
-ri
's/^PermitRootLogin\s+.*/PermitRootLogin yes/'
/etc/ssh/sshd_config
RUN
sed
-ri
's/UsePAM yes/#UsePAM yes/g'
/etc/ssh/sshd_config
EXPOSE
22
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录