-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Add conda environment.yml for developers #17096
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
😢 This creates an inconsistent environment with pytest-5.4.1 and pytest-rerunfailures-8.0. pytest-5.4 compatibility was only provided via pytest-rerunfailures-9.0, which is not yet in conda forge. Hope this is a one-time thing (combination of pytest breaking change and plugins not updating on conda-forge). If this happens more often we'd need to install some things via pip. Waiting for now if there is an update on conda-forge. Alternatively, we could also pin pytest<5.4. |
473d598
to
97ad232
Compare
For now, I'm pinning to pytest<5.4. pytest-rerunfailures 9.0 has been out for 3 weeks, but the conda-forge package hasn't been updated yet. So I'm not betting this will be updated in the next couple of days. |
0064fb4
to
d2f0248
Compare
Removed pytest pinning as pytest-rerunfailures 9.0 is now available from conda-forge |
I had a go with this as suggested at #6418 (comment). Following the instructions in the OP I created the environment and successfully ran most of the tests. However I did get several failures like this:
and
Also a problem creating a webagg server as well as a couple of image comparison failures, though these aren't obviously to do with the environment. |
Can you try adding |
Added
The image comparison failures are very small and don't look different by eye. Could the fact that they are both pdfs point to something like the ImageMagick version? I don't have the authority to update that. |
for the pdf tests we have the pdf under version control and then convert them both to png to compare. Because this can be a slow process we cache the results in The tk failure is worrying, can you try a What is the error you are getting with webagg? |
Thanks @tacaswell, I deleted the The the second time, it looks like a server was spun up, but then |
All the pdf tests fail for me (on a mac). I assume it is just different versions of Ghostscript, and just ignore the errors. I'm not sure it practical to give users a setup that will pass every test on every machine. I think the spirit of this is to get the users most of the way there with the minimum of steps. |
It certainly does that very nicely. |
I tried building the docs. There are a couple of gallery examples that require
I added |
I just noticed that the installation guide specifies not using Tk 8.6.0 or 8.6.1. My environments have 8.6. Given that Tk is part of the standard library, how do you choose the version on that? |
I think this is really helpful for getting a clean environment to start from! Here are some additional things I found to add to the sections. Standard dependencies (This enables me to install without downloading any additional dependencies from pip): Documentation: Additionally, I needed the
Testing: |
d2f0248
to
768e6a3
Compare
768e6a3
to
c94bf0f
Compare
I'll add a description how to use this later to the dev docs. But basically following the instuctions in the file is sufficient. |
Note: Failed check is due to a failing freetype download and unrelated to this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like pandas and numpy call this file environment.yml
without the "-dev", do we want to be consistent with them?
This works well for me locally, and I think even without any mention in the devdocs this gives a benefit to people who want to clone the matplotlib repo and get going with an environment quickly.
c94bf0f
to
31584d0
Compare
I take the liberty to self-merge with one review, because this is not a code change. And even if a dependency should be missing it'S better to have this in the repo than nothing at all. |
Add conda environment.yml for developers
Add conda environment.yml for developers
Add conda environment.yml for developers
PR Summary
This should make it much easier to set up a development environment. Essentially one should be up and running with
This must still be added to the docs.
I've copied the dependencies together from the requirements files and https://matplotlib.org/devdocs/users/installing.html#dependencies. Not sure what to do about the optional dependencies ffmpeg, ImageMagick, LaTeX and fontconfig.