Python 在gitlab ci中使用控制盘以避免长时间编译

Python 在gitlab ci中使用控制盘以避免长时间编译,python,numpy,gitlab-ci,python-wheel,Python,Numpy,Gitlab Ci,Python Wheel,在我的gitlab-ci.yml中,我使用pandas scikit和scipy测试了一些代码。 构建/管道中的大部分时间都花在编译numpy、scipy 我是否可以创建一个控制盘并使用ADD to just copy and pip安装一个已制作的控制盘 我需要一个最新版本的pip: $ cat requirements/base.txt pip>=8.1.2 setuptools>=20.7.0 wheel>=0.29 numpy scipy scikit-learn 这

在我的gitlab-ci.yml中,我使用pandas scikit和scipy测试了一些代码。 构建/管道中的大部分时间都花在编译numpy、scipy

我是否可以创建一个控制盘并使用ADD to just copy and pip安装一个已制作的控制盘

我需要一个最新版本的
pip

$ cat requirements/base.txt
pip>=8.1.2
setuptools>=20.7.0
wheel>=0.29
numpy
scipy
scikit-learn
这里是我的
.gitlab ci
,每次都花了很多时间:

$ cat .gitlab-ci

image : python:2

test:
  script:
  - apt-get update -qy
  - apt-get install -y python-dev python-pip python-virtualenv
  - pip install -r requirements/base.txt
  - ...
试图回答gitlab ci管道输出中的@ev br,您可以看到pandas不是作为轮子,而是pandas-0.19.1.tar.gz

$ pip install -r requirements.txt --cache-dir=/cache
Requirement already satisfied: pip>=9 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied: setuptools>=26 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 2))
Collecting wheel>=0.29 (from -r requirements.txt (line 3))
  Using cached wheel-0.29.0-py2.py3-none-any.whl
Collecting setuptools_scm (from -r requirements.txt (line 4))
  Using cached setuptools_scm-1.15.0-py2.py3-none-any.whl
Collecting setuptools_scm_git_archive (from -r requirements.txt (line 5))
  Using cached setuptools_scm_git_archive-1.0-py2.py3-none-any.whl
Collecting pandas==0.19.1 (from -r requirements.txt (line 6))
  Downloading pandas-0.19.1.tar.gz (8.4MB)
Collecting python-dateutil>=2 (from pandas==0.19.1->-r requirements.txt (line 6))
  Using cached python_dateutil-2.6.0-py2.py3-none-any.whl

如果您的pip足够新(版本8或更高版本IIRC),您可以通过
pip安装
ing numpy和scipy自动使用manulinux控制盘。尝试
pip安装--升级CI上的pip
或类似版本。

相关问题是为什么它不使用manylinux控制盘。只能通过查看构建日志来回答这个问题。这并不是真正解决轮子问题的方法,但是你可以构建一个定制的docker容器,包含你所需要的一切(甚至可以构建它并将其存储在gitlab中),这样就可以完全跳过安装过程。