devbuddy / devbuddy

Setup your projects in a consistent way. Help other devs onboard easily!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error with X.Y Python version

merwok opened this issue · comments

commented

This is not supported:

up:
  - python: 3.6

Rationale:

  • I want to declare that the app needs Python 3.6, not 3.5 or 3.7
  • I don’t care about the exact version
  • I would like automatic upgrade from 3.6.5 to 3.6.6 when new release is available

What would be the right way to get the list of released versions?

Just thinking out loud:

There is 3 definitions of the python versions:

  1. the list of versions available on https://www.python.org/downloads/
  2. the list of versions that PyEnv knows
  3. the list of versions that the installed version of PyEnv knows

I'm not sure how to get 1. and 2. at runtime.
3. is not very interesting.

commented

Asking for Python X.Y.Z rather than X.Y is unnecessary in theory, with Python’s backward compatibility garanties, but I can understand the pragmatism of writing the full version.

I’ve only used pyenv once with CircleCI 1. From the docs, it seems like the install targets are exact x.y.z versions. pyenv versions may give you the answer to 2.; it’s not a structured format but can be parsed.

@merwok just a thought about your rational:

* I want to declare that the app needs Python 3.6, not 3.5 or 3.7
* I don’t care about the exact version
* I would like automatic upgrade from 3.6.5 to 3.6.6 when new release is available

Currently, the core goal of DevBuddy is to build the local dev environment for a project, in the most deterministic way possible.

Which is not a big deal for 2 developers, the risk of being hit by an issue triggered by a patch version is low enough.
But it happens (I remember something about Py 2.7.13 and a version of OpenSSL), and with large teams (or a community) you WILL hit those rare issues.

@mlhamel WDYT?