Re:Overview of Python dependency management tools
by mariokostelac on Monday June 01, 2020 @03:16PM
(#23382505)
I think that works when you use Python cli tools, but not when you're working on 5 different projects, each running different python version.
Re:Overview of Python dependency management tools
by Sohcahtoa82 on Monday June 01, 2020 @03:52PM
(#23382941)
Outside of Python 2/3 differences, are Python interpreters not backwards compatible?
In other words, while obviously a program written for 3.3 won't work in 2.7, but will a program written for 3.3 fail to run in 3.8?
If it runs fine, why the need for multiple interpreters? I'd think you'd get by just fine by having the latest 2.x and 3.x installed.
Re:Overview of Python dependency management tools
by Izkata on Monday June 01, 2020 @05:45PM
(#23384326)
Because underscore-functions aren't truly private, I have once seen an upgrade from 2.7.8 to 2.7.13 fail. A commonly-used package was importing one from a core python module.
Re:Overview of Python dependency management tools
by mariokostelac on Monday June 01, 2020 @04:04PM
(#23383079)
It's just about backward compatibility. If you don't run the exact version of python that's running in production, how do you know that you're not using some method that does not exist in production yet (because you run older version there)?
Also, libraries with binary component often have to be compiled against specific version of python.
Re:Overview of Python dependency management tools
by a_cool_username on Monday June 01, 2020 @04:26PM
(#23383353)
Sometimes! A very simple example is code that uses "async" as a variable name. It became a keyword in 3.5, which was an enormous pain in the ass.
I admit a pyenv is nice for testing against different python versions if necessary. But on my Linux systems generally fine with just installing system packages and doing pip install --user for the odd package that is not in the repositories