[Distutils] The future of invoking pip
Paul Moore
p.f.moore at gmail.com
Sun Nov 8 08:59:53 EST 2015
On 8 November 2015 at 00:37, Donald Stufft <donald at stufft.io> wrote:
> This probably does also affect pydoc but I would suggest that more people are invoking pip in various “weird” situation than are invoking pydoc. I know personally I’ve *never* invoked pydoc. In fact, the pyvenv script has been deprecated and is going to be removed in Python 3.8 in favor of `python -m venv` for similar reasons that I've described here.
It applies to pretty much everything. It's basically why the -m flag
was added to Python. It's not taken off because it's not exactly
ideal, but the alternative is a bit of a mess too (more or less so
depending on your OS, distribution and/or working practices).
Unfortunately, pip is orders of magnitude more frequently used than
the other commands that suffer from this problem, so it *feels* like a
pip issue. But it isn't really, it's either a Python issue or an OS
issue, depending on how you view it.
Java has a very similar issue. The "java -jar myproject.jar" syntax is
basically the same as "python -m". The alternative used in the Java
world is a plethora of Windows batch files and Unix shell scripts,
usually combined with an installation process that goes something like
"here's the driver scripts, work out for yourself how to get them on
your PATH". Plus environment variables to say which is your preferred
Java installation. (Java doesn't have anything like virtual
environments, so actually the problem they face is *simpler* than
Python's).
Paul
More information about the Distutils-SIG
mailing list