From b33ffcab36fcfb0bffb7bfcecc0f1ff0cb8a5efa Mon Sep 17 00:00:00 2001 From: "Huang, Mingxiao" Date: Sat, 3 Mar 2018 16:10:12 +0800 Subject: [PATCH] add conda and docker --- conda/build.sh | 20 ++++++++++ conda/conda_build_config.yaml | 12 ++++++ conda/meta.yaml | 47 ++++++++++++++++++++++ docker/python2/Dockerfile_centos | 55 ++++++++++++++++++++++++++ docker/python2/Dockerfile_ubuntu | 52 ++++++++++++++++++++++++ docker/python3/Dockerfile_centos | 68 ++++++++++++++++++++++++++++++++ docker/python3/Dockerfile_ubuntu | 50 +++++++++++++++++++++++ python/setup.py | 2 +- 8 files changed, 305 insertions(+), 1 deletion(-) create mode 100755 conda/build.sh create mode 100644 conda/conda_build_config.yaml create mode 100644 conda/meta.yaml create mode 100644 docker/python2/Dockerfile_centos create mode 100644 docker/python2/Dockerfile_ubuntu create mode 100644 docker/python3/Dockerfile_centos create mode 100644 docker/python3/Dockerfile_ubuntu diff --git a/conda/build.sh b/conda/build.sh new file mode 100755 index 00000000..01e80d90 --- /dev/null +++ b/conda/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Install script for Anaconda environments on macOS and linux. +# This script is not supposed to be called directly, but should be run by: +# +# $ cd +# $ conda build conda +# +# +# If you're debugging this, it may be useful to use the env that conda build is +# using: +# $ cd /conda-bld/ideep_ +# $ source activate _h_env_... # some long path with lots of placeholders +# +# Also, failed builds will accumulate those ideep_ directories. You +# can remove them after a succesfull build with +# $ conda build purge +# +cd python +python setup.py install diff --git a/conda/conda_build_config.yaml b/conda/conda_build_config.yaml new file mode 100644 index 00000000..2e43583f --- /dev/null +++ b/conda/conda_build_config.yaml @@ -0,0 +1,12 @@ +protobuf: + - 3.4.1 +numpy: + - 1.13 + +pin_run_as_build: + protobuf: + min_pin: x.x + max_pin: x.x + numpy: + min_pin: x.x + max_pin: x.x diff --git a/conda/meta.yaml b/conda/meta.yaml new file mode 100644 index 00000000..57d161dd --- /dev/null +++ b/conda/meta.yaml @@ -0,0 +1,47 @@ +{% set version = "1.0.3" %} + +package: + name: ideep4py + version: {{ version }} + +source: + path: ../ + +build: + number: 0 + skip: True # [win] + +requirements: + build: + - cmake + - git + - curl + - pcre + - setuptools + - numpy + - gflags + - opencv + - python + - protobuf + - six + - openssl + run: + - cmake + - git + - curl + - pcre + - setuptools + - numpy + - gflags + - opencv + - protobuf + - python + - six + - openssl + +test: + imports: + - ideep4py + +about: + license: MIT diff --git a/docker/python2/Dockerfile_centos b/docker/python2/Dockerfile_centos new file mode 100644 index 00000000..b3427676 --- /dev/null +++ b/docker/python2/Dockerfile_centos @@ -0,0 +1,55 @@ +FROM centos:7 + +USER root + +RUN yum -y install epel-release &&\ + yum upgrade -y + +RUN yum install -y \ + redhat-rpm-config \ + cmake \ + git \ + wget \ + ssh \ + gcc-c++ \ + boost-devel \ + gflags-devel \ + glog-devel \ + hdf5-devel \ + opencv-devel \ + protobuf-devel \ + liblapack-dev \ + libssl-dev \ + protobuf-compiler \ + python-devel \ + python-numpy \ + python-pip \ + python-setuptools \ + openssl \ + gcc-gfortran \ + pcre \ + pcre-devel + +RUN yum clean all + + +RUN mkdir Downloads && \ + cd Downloads && \ + wget https://nchc.dl.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz && \ + tar -xf swig-3.0.12.tar.gz && \ + cd swig-3.0.12/ && \ + ./configure && \ + make -j && \ + make install && \ + cd ../../ + + +RUN pip install --default-timeout=10000 six \ + h5py \ + nose \ + protobuf \ + Pillow \ + filelock + + +RUN pip install ideep4py diff --git a/docker/python2/Dockerfile_ubuntu b/docker/python2/Dockerfile_ubuntu new file mode 100644 index 00000000..290675fe --- /dev/null +++ b/docker/python2/Dockerfile_ubuntu @@ -0,0 +1,52 @@ +FROM ubuntu:16.04 + + +RUN apt-get update -y && \ + apt-get install -y --no-install-recommends \ + build-essential \ + cmake \ + git \ + wget \ + vim \ + ssh \ + libboost-all-dev \ + libgflags-dev \ + libgoogle-glog-dev \ + libhdf5-serial-dev \ + libopencv-dev \ + libprotobuf-dev \ + liblapack-dev \ + libssl-dev \ + protobuf-compiler \ + python-dev \ + python-numpy \ + python-pip \ + python-setuptools \ + openssl \ + curl && \ + rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* + + +RUN mkdir Downloads && \ + cd Downloads && \ + wget https://nchc.dl.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz && \ + tar -xf swig-3.0.12.tar.gz && \ + cd swig-3.0.12/ && \ + ./configure && \ + make -j && \ + make install && \ + cd ../../ + +RUN pip install --upgrade pip setuptools + +RUN pip install --default-timeout=10000 wheel \ + six \ + h5py \ + nose \ + protobuf \ + Pillow \ + filelock \ + distribute + + +RUN pip install ideep4py diff --git a/docker/python3/Dockerfile_centos b/docker/python3/Dockerfile_centos new file mode 100644 index 00000000..f798136c --- /dev/null +++ b/docker/python3/Dockerfile_centos @@ -0,0 +1,68 @@ +FROM centos:7 + +USER root + + +RUN yum -y install epel-release &&\ + yum upgrade -y + +RUN yum install -y \ + redhat-rpm-config \ + cmake \ + git \ + wget \ + ssh \ + gcc-c++ \ + boost-devel \ + gflags-devel \ + glog-devel \ + hdf5-devel \ + protobuf-devel \ + liblapack-dev \ + libssl-dev \ + protobuf-compiler \ + openssl \ + openssl-devel \ + bzip2-devel \ + expat-devel \ + gdbm-devel \ + readline-devel \ + sqlite-devel \ + gcc-gfortran \ + pcre \ + pcre-devel \ + +RUN yum clean all + + +RUN mkdir Downloads && \ + cd Downloads && \ + wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz && \ + tar -zxvf Python-3.5.2.tgz && \ + cd Python-3.5.2 && \ + ./configure --prefix=/usr/local/python3.5 --enable-optimizations && \ + make -j && \ + make install && \ + ln -s /usr/local/python3.5/bin/python3 /usr/bin/python3 && \ + ln -s /usr/local/python3.5/bin/pip3.5 /usr/bin/pip3 && \ + cd ../ + + +RUN wget https://nchc.dl.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz && \ + tar -xf swig-3.0.12.tar.gz && \ + cd swig-3.0.12/ && \ + ./configure && \ + make -j && \ + make install && \ + cd ../../ + + +RUN pip3 install --default-timeout=10000 six \ + h5py \ + nose \ + protobuf \ + Pillow \ + filelock + + +RUN pip3 install ideep4py diff --git a/docker/python3/Dockerfile_ubuntu b/docker/python3/Dockerfile_ubuntu new file mode 100644 index 00000000..2933eb69 --- /dev/null +++ b/docker/python3/Dockerfile_ubuntu @@ -0,0 +1,50 @@ +FROM ubuntu:16.04 + + +RUN apt-get update -y && \ + apt-get install -y --no-install-recommends \ + build-essential \ + cmake \ + git \ + wget \ + ssh \ + libboost-all-dev \ + libgflags-dev \ + libgoogle-glog-dev \ + libhdf5-serial-dev \ + libopencv-dev \ + libprotobuf-dev \ + liblapack-dev \ + libssl-dev \ + protobuf-compiler \ + python3-dev \ + python3-numpy \ + python3-pip \ + python3-setuptools \ + openssl \ + curl && \ + rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* + +RUN mkdir Downloads && \ + cd Downloads && \ + wget https://nchc.dl.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz && \ + tar -xf swig-3.0.12.tar.gz && \ + cd swig-3.0.12/ && \ + ./configure && \ + make -j && \ + make install && \ + cd ../../ + +RUN pip3 install --upgrade pip setuptools + +RUN pip3 install --default-timeout=10000 wheel \ + six \ + h5py \ + nose \ + protobuf \ + Pillow \ + filelock \ + distribute + + +RUN pip3 install ideep4py diff --git a/python/setup.py b/python/setup.py index e58ed9e1..f93c547b 100644 --- a/python/setup.py +++ b/python/setup.py @@ -167,7 +167,7 @@ def run(self): setup( name='ideep4py', - version='1.0.2', + version='1.0.3', description='ideep4py is a wrapper for iDeep library.', author='Intel', author_email='',