Repository: scikit-hep/pyhf

Issue:
speed up CI tests (do we need all conda packages?)
By using Conda, unfortunately the setup phase of the CI jobs have become a bit slower than without conda, maybe we can look into speeding them up again by checking whether we need all the packages that we install during CI


Discussion:
@lukasheinrich I'm not sure what can be done here, as we're already [using Miniconda](https://github.com/lukasheinrich/pyhf/blob/master/.travis.yml#L9) (which just installs an empty conda environment, right?). The only package that we're installing beyond PyTorch with conda is `scipy`

```
conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION pytorch scipy -c pytorch
```
so I can remove that and just have `pip` install it, but I don't know what else can really be done if we still use conda. I can look at seeing if there is an alternative way to get PyTorch in without conda though, but I think that will probably be equally slow.
Hi @matthewfeickert yeah.. I'm not sure exactly what can be done (and if nothing can be done that's fine).. I was just looking at the travis logs and saw

```
PREFIX=/home/travis/miniconda
installing: python-3.6.3-h6c0c0dc_5 ...
Python 3.6.3 :: Anaconda, Inc.
installing: ca-certificates-2017.08.26-h1d4fec5_0 ...
installing: conda-env-2.6.0-h36134e3_1 ...
installing: libgcc-ng-7.2.0-h7cc24e2_2 ...
installing: libstdcxx-ng-7.2.0-h7a57d05_2 ...
installing: libffi-3.2.1-hd88cf55_4 ...
installing: ncurses-6.0-h9df7e31_2 ...
installing: openssl-1.0.2n-hb7f436b_0 ...
installing: tk-8.6.7-hc745277_3 ...
installing: xz-5.2.3-h55aa19d_2 ...
installing: yaml-0.1.7-had09818_2 ...
installing: zlib-1.2.11-ha838bed_2 ...
installing: libedit-3.1-heed3624_0 ...
installing: readline-7.0-ha6073c6_4 ...
installing: sqlite-3.20.1-hb898158_2 ...
installing: asn1crypto-0.23.0-py36h4639342_0 ...
installing: certifi-2017.11.5-py36hf29ccca_0 ...
installing: chardet-3.0.4-py36h0f667ec_1 ...
installing: idna-2.6-py36h82fb2a8_1 ...
installing: pycosat-0.6.3-py36h0a5515d_0 ...
installing: pycparser-2.18-py36hf9f622e_1 ...
installing: pysocks-1.6.7-py36hd97a5b1_1 ...
installing: ruamel_yaml-0.11.14-py36ha2fb22d_2 ...
installing: six-1.11.0-py36h372c433_1 ...
installing: cffi-1.11.2-py36h2825082_0 ...
installing: setuptools-36.5.0-py36he42e2e1_0 ...
installing: cryptography-2.1.4-py36hd09be54_0 ...
installing: wheel-0.30.0-py36hfd4bba0_1 ...
installing: pip-9.0.1-py36h6c6f9ce_4 ...
installing: pyopenssl-17.5.0-py36h20ba746_0 ...
installing: urllib3-1.22-py36hbe7ace6_0 ...
installing: requests-2.18.4-py36he2e5f8d_1 ...
installing: conda-4.3.31-py36_0 ...
installation finished.
```

which might indeed just be the irreducible minimum for conda
@lukasheinrich Yeah that looks like the normal list of things that come with a new conda environment. I'll still poke at this though before we decide to close it.

I have some other questions about the CI related to speed but we can go over that later (or in another Issue).
@lukasheinrich I stand corrected, we can still do it in `pip`, as long as we run different install instructions for different versions of Python (they package it as different wheels). Do you have any reference YAML files for how to do this?
[PyTorch is now on PyPI](https://twitter.com/pytorch/status/981198007352705025). I’ll do some tests to see what needs to be edited in terms of `.travis.yml` and then make a PR to see if we get speedup.

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@
   packages = find_packages(),
   include_package_data = True,
   install_requires = [
-    'numpy',
+    'numpy>=1.14.3',
     'scipy'
   ],
   extras_require = {
@@ -24,7 +24,7 @@
     ],
     'develop': [
        'pyflakes',
-       'pytest>=3.2.0',
+       'pytest>=3.5.1',
        'pytest-cov>=2.5.1',
        'pytest-benchmark[histogram]',
        'python-coveralls',


Test patch: