Open ivirshup opened 5 years ago
I think examples/environment.yml is probably out of date - the dependencies are quite different from the current ones (see https://github.com/pyviz/datashader/blob/master/setup.py#L32, which is the basis for the conda package).
In the short term, maybe you could conda install -c pyviz datashader
and then remove --force
it (to leave the dependencies), then do pip install -e . --no-deps
in the git repo? I have not tested this, and a current datashader developer might have a better idea. Or maybe you could look to see what pins there are in setup.py (e.g. see the pytest and pytest-benchmark pins...), and apply them to your existing environment?
The plan for datashader was to specify the dependencies in one place, and generate both the conda package recipe and examples/environment.yml from that (by filtering/pinning/combining groups as necessary for each one, since they have different purposes). I think we've managed to start doing that in some other pyviz projects (e.g. pyviz itself), but we're not there yet.
Sounds about right. I think @jsignell can fix environment.yml to be generated from the actual dependencies, so that it matches what we use for testing. But I don't think any removing is needed; I just do conda install -c pyviz datashader
then pip install -e .
inside the datashader repo, which is normally sufficient to ensure that the repo is used rather than the conda package.
Thanks for the advice!
I'm still having trouble though. Here's what I've run so far:
conda create -n datashader
conda activate datashader
conda install --deps-only -yc pyviz datashader
At this point, pytest isn't in the environment, so I've manually added the test requirements from the setup.py
:
conda install -y "pytest==3.9.3" "pytest-benchmark==3.0.0" "flake8" "nbsmoke>=0.2.6" "fastparquet>=0.1.6"
pip install -e .
Running pytest at this point throws a tornado error:
Progress! I got rid of the tornado error by downgrading tornado. Now pytest runs, but for some reason it's not finding all the tests. Here's the full set of commands to get to my current environment:
conda create -n datashader
conda activate datashader
conda install --deps-only -yc pyviz datashader
conda install -y "pytest==3.9.3" "pytest-benchmark==3.0.0" "flake8" "nbsmoke>=0.2.6" "fastparquet>=0.1.6"
conda install "tornado<=6"
pip install -e .
However, not all the tests are running. I think a similar issue is happening with the travis builds. In the build for my PR (#725) I noticed travis was passing while appveyor wasn't. Neither should pass, since there are two test which are failing, since I think those tests have a bug. Travis just isn't running those tests (travis logs don't show tests from test_bundling.py
).
Looking into this a little further, pytest --collect-only .
collects 425 tests (skipping 12) from the conda environment, but using a pip installed pytest (v4.3.0
) 461 items are collected with 5 skipped.
Running pytest --collect-only --disable-warnings . | pbcopy
I find:
I'm having trouble running the tests locally using the provided conda environment. The environment was created following the instructions in the readme:
pytest
immediately fails with the following traceback:I was able to get tests partially running under a different environment which doesn't have
pytest-benchmark
installed.This is using the latest master (3171d8869f63214cc161da755e88c30abe8b5098) with macOS v10.14.3.
Output of `conda list`
``` # packages in environment at /Users/isaac/miniconda3/envs/datashader: # # Name Version Build Channel affine 2.2.2 py_0 conda-forge antlr-python-runtime 4.7.2 py36_1000 conda-forge appnope 0.1.0 py36_1000 conda-forge asn1crypto 0.24.0 py36_1003 conda-forge atomicwrites 1.3.0 py_0 conda-forge attrs 19.1.0 py_0 conda-forge backcall 0.1.0 py_0 conda-forge beautifulsoup4 4.7.1 py36_1001 conda-forge blas 1.1 openblas conda-forge bleach 3.1.0 py_0 conda-forge blosc 1.16.3 h0a44026_0 conda-forge bokeh 1.0.4 py36_1000 conda-forge boost-cpp 1.68.0 h6f8c590_1000 conda-forge bzip2 1.0.6 h1de35cc_1002 conda-forge ca-certificates 2019.3.9 hecc5488_0 conda-forge cachey 0.1.1 pypi_0 pypi cairo 1.16.0 h9247486_1000 conda-forge cartopy 0.17.0 py36h929c6f0_1004 conda-forge certifi 2019.3.9 py36_0 conda-forge cf-units 2.1.1 py36h917ab60_1000 conda-forge cffi 1.12.2 py36h2d6ddff_1 conda-forge cftime 1.0.3.4 py36h917ab60_1000 conda-forge chardet 3.0.4 py36_1003 conda-forge click 7.0 py_0 conda-forge click-plugins 1.0.4 py_0 conda-forge cligj 0.5.0 py_0 conda-forge cloudpickle 0.8.0 py_0 conda-forge colorcet 1.0.0 py_0 conda-forge cryptography 2.5 py36hdbc3d79_1 conda-forge curl 7.64.0 heae2a1f_0 conda-forge cycler 0.10.0 py_1 conda-forge cytoolz 0.9.0.1 py36h1de35cc_1001 conda-forge dask 1.1.4 py_0 conda-forge dask-core 1.1.4 py_0 conda-forge datashader 0.7.0a1.post4+g3171d88 dev_0