JuliaPy / Conda.jl

Conda managing Julia binary dependencies
Other
173 stars 57 forks source link

Default to Python 3.6 instead of 3.7 #129

Closed tkf closed 5 years ago

tkf commented 5 years ago

fixes #127


Checking with PyCall.jl:

stevengj commented 5 years ago

If we do this, what is the upgrade path for existing users when we eventually switch to 3.7? We don't want to tell everyone to Conda.free("python=3.6") manually…

stevengj commented 5 years ago

One option would be to use MINICONDA_VERSION="3.6", since this string is now saved between updates … if we notice that this number has increased we could free the old version.

tkf commented 5 years ago

The easiest (non?) solution is to just downgrade Python to 3.6 without pinning. It's then almost equivalent to the current situation before this PR except that it reduces the probability of accidental downgrade. Python would be automatically upgraded by Conda.add(package) once 3.6 becomes too old to install the package.

If you want a more controlled solution then I guess we can check Python version in build.jl or __init__? Automatic upgrade in build.jl is probably rather too brutal but maybe we can print something like "Your Python version is becoming old. Run Codna.update() to upgrade Python and Python packages."

tkf commented 5 years ago

I think https://github.com/JuliaPy/PyCall.jl/pull/613 is a better solution. It may still make sense to add Conda.pin and Conda.free.