-
Notifications
You must be signed in to change notification settings - Fork 70
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
Update versions and cleanup Dockerfile #84
Conversation
350c76d
to
417ec99
Compare
Just a note, latest
|
So, with |
I'm +1 on shipping new images. If we hit issues, we can work around them, but sitting still isn't the answer. I'd say we should just ship 4.0, no |
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.
This looks good. When this is merged, it will become latest
, right? I do worry about possibly breaking people who are using Python 3.5, but there shouldn't be too many.
There's already a 4.0rc1. Next release is 4.0 anyways. |
Dockerfile
Outdated
ENV PATH $PATH:/home/docs/.conda/bin | ||
RUN rm -f Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh |
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.
Is miniconda3 a python3 binary? does this require us to make sure the project is using python3 before executing? If so, do we have a similar .org change that prevents breaking existing python2 conda projects?
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.
Here is the difference,
There are two variants of the installer: Miniconda is Python 2 based and Miniconda3 is Python 3 based. Note that the choice of which Miniconda is installed only affects the root environment. Regardless of which version of Miniconda you install, you can still install both Python 2.x and Python 3.x environments.
This one, affects us since if the user was not specifying the Python version when using conda
we will defaulting to python3
.
The other difference is that the Python 3 version of Miniconda will default to Python 3 when creating new environments and building packages.
https://conda.io/miniconda.html
I'm going to revert this change because it's a potential breaking change. Considering that we are defaulting python3
for new projects, it would be good to find a way to use py2
only in old conda projects, though.
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.
Perhaps use both miniconda2 and miniconda3? or are they not compatible?
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.
I will research a little more about this. I'm not sure what should be the flow. I'm creating a ticket for this since it will be something new and unrelated with 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.
We have a problem either way it seems. For now, this image will be correct, but when we move to default python3, new projects will have to specify python2 to use conda.
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.
I don't think so. The project.python_interpreter
is not used at all when building with conda
. It's only used to create the virtual environment.
This commit also removes Python 3.5
Here is the difference, > There are two variants of the installer: Miniconda is Python 2 based and Miniconda3 is Python 3 based. Note that the choice of which Miniconda is installed only affects the root environment. Regardless of which version of Miniconda you install, you can still install both Python 2.x and Python 3.x environments. This one, affects us since if the user was not specifying the Python version when using `conda` we will defaulting to `python3`. > The other difference is that the Python 3 version of Miniconda will default to Python 3 when creating new environments and building packages. https://conda.io/miniconda.html Considering that we are defaulting `python3` for new projects, it would be good to find a way to use `py2` only in old conda projects, though.
530bc53
to
2ba16f0
Compare
Python 3.5 was removed at #84 and we didn't have a good reason to do it. Then, when releasing the new Docker 5.0 image we realize that we will be breaking some projects that are pinning 3.5 in their config file: readthedocs/readthedocs.org#5657 So, we decided to re-add it to be able to deploy this image without breaking people's projects.
I'd like to build this image and ship it sooner than later.
We have been testing
4.0rc1
on some projects now. Although, this image removes Python 3.5 completely and upgrade all Python and Conda versions. Besides, it installs all the software requested by users and fixes some new pyenv dependencies.I'd love to:
2.0
,3.0
the default andstable
image,latest
to be4.0rc1
Also, we do support numbered versions in our YAML file (see also here), we could start also testing or suggesting
5.0rc1
(the image of this PR). I want to pick some projects to start testing5.0rc1
for a month (not more than that) and make the version changes again:4.0
the default andstable
image,latest
to be5.0rc1
Our process to release images is too slow and I'd like to move faster here.
I just tested building and running this image locally with different build projects and it worked properly. I could be more extensively tested with projects that require very specific things, though.
Closes #79
Closes #78
Closes #70
Closes #15