def build(version='0.11.5'): stage0 = CVL_ubuntu_stage() stage0 += pip( packages=['numpy', 'h5py', 'ncempy', 'numba', 'scikit-image', 'scikit-learn', 'PyQt5', 'pyqtgraph', 'qtconsole', 'ipywidgets', 'tqdm', 'ipyparallel', 'dask', f'py4dstem=={version}'], pip='pip3' ) return stage0
def test_pip3_centos(self): """pip3 w/ pip building block""" p = pip(packages=['hpccm'], pip='pip3') self.assertEqual( str(p), r'''# pip RUN yum install -y \ python3-pip && \ rm -rf /var/cache/yum/* RUN pip3 --no-cache-dir install hpccm''')
def test_no_args(self): """empty args option""" p = pip(args=[], packages=['hpccm'], pip='pip3') self.assertEqual( str(p), r'''# pip RUN yum install -y \ python3-pip && \ rm -rf /var/cache/yum/* RUN pip3 install hpccm''')
def test_defaults_centos(self): """Default pip building block""" p = pip(packages=['hpccm']) self.assertEqual( str(p), r'''# pip RUN yum install -y epel-release && \ yum install -y \ python2-pip && \ rm -rf /var/cache/yum/* RUN pip --no-cache-dir install hpccm''')
def test_ospackages(self): """specify ospackages option""" p = pip(ospackages=['foo'], packages=['hpccm']) self.assertEqual( str(p), r'''# pip RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ foo && \ rm -rf /var/lib/apt/lists/* RUN pip --no-cache-dir install hpccm''')
def test_alternatives_centos8(self): """Default pip building block""" p = pip(packages=['hpccm'], alternatives=True) self.assertEqual( str(p), r'''# pip RUN yum install -y \ python2-pip && \ rm -rf /var/cache/yum/* RUN alternatives --set python /usr/bin/python2 && \ alternatives --install /usr/bin/pip pip /usr/bin/pip2 30 RUN pip --no-cache-dir install hpccm''')
def test_pip3_ubuntu(self): """pip3 w/ pip building block""" p = pip(packages=['hpccm'], pip='pip3') self.assertEqual( str(p), r'''# pip RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ python3-pip \ python3-setuptools \ python3-wheel && \ rm -rf /var/lib/apt/lists/* RUN pip3 --no-cache-dir install hpccm''')
def test_defaults_ubuntu(self): """Default pip building block""" p = pip(packages=['hpccm']) self.assertEqual( str(p), r'''# pip RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ python-pip \ python-setuptools \ python-wheel && \ rm -rf /var/lib/apt/lists/* RUN pip install hpccm''')
def test_upgrade(self): """upgrade option""" p = pip(packages=['hpccm'], upgrade=True) self.assertEqual( str(p), r'''# pip RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ python-pip \ python-setuptools \ python-wheel && \ rm -rf /var/lib/apt/lists/* RUN pip --no-cache-dir install --upgrade pip && \ pip --no-cache-dir install hpccm''')
def test_requirements(self): """specify requirements options""" p = pip(requirements='foo/requirements.txt') self.assertEqual( str(p), r'''# pip RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ python-pip \ python-setuptools \ python-wheel && \ rm -rf /var/lib/apt/lists/* COPY foo/requirements.txt /var/tmp/requirements.txt RUN pip --no-cache-dir install -r /var/tmp/requirements.txt && \ rm -rf /var/tmp/requirements.txt''')
def __instructions(self): """String representation of the building block""" self += comment(__doc__, reformat=False) self += python(devel=True, python2=False) self += pip(pip='pip3', packages=['virtualenv', 'pre-commit', 'cmake-format']) self += packages(ospackages=self.__ospackages, apt_ppas=['ppa:git-core/ppa'], epel=True) self += shell(commands=self.__commands) self += environment(variables={ 'CMAKE_GENERATOR': 'Ninja', 'PATH': '/usr/local/poetry/bin:$PATH' })
def __instructions(self): self += comment(__doc__, reformat=False) # https://github.com/bincrafters/community/issues/880 self += packages(ospackages=['pkg-config']) # For building curl: self += packages(ospackages=['autoconf-archive', 'libtool']) conan_version = "1.22.2" self += pip(pip='pip3', packages=['conan=={}'.format(conan_version)]) self += shell(commands=self.__commands) if self.__user_home != '': self += environment( variables={'CONAN_USER_HOME': self.__user_home}) self += label( metadata={ 'org.opengeosys.pm': 'conan', 'org.opengeosys.pm.conan.version': conan_version }) if self.__user_home != '': self += label(metadata={ 'org.opengeosys.pm.conan.user_home': self.__user_home })
def test_no_ospackages(self): """empty ospackages option""" p = pip(ospackages=[], packages=['hpccm']) self.assertEqual(str(p), r'''# pip RUN pip --no-cache-dir install hpccm''')