On 6 November 2017 at 16:42, Lukasz Langa <luk...@langa.pl> wrote:
>
>> On 5 Nov, 2017, at 10:30 PM, Michel Desmoulin <desmoulinmic...@gmail.com> 
>> wrote:
>>
>> Le 06/11/2017 à 07:07, Nick Coghlan a écrit :
>>
>>> It's the default on Unix as well - you have to do "make install
>>> ENSUREPIP=no" to avoid getting it. (And some distros also modify their
>>> Python installations so that pip is missing by default)
>>
>> On debian and derivatives (so Ubuntu) you need to install python-pip to
>> be able to use pip.
>>
>> Now it's annoying already. Because you have to write every tutorial to
>> include a special case for them. But at least it's not a required step
>> to run your program.
>>
>> However, if you do code using type hints and typing is not installed,
>> you can't even run the program without installing something. So we
>> finally have Python 3 by default on most Linux system, but still would
>> not be able to assume we can run a modern script on it.
>
> This is a valid concern. Although this particular problem is self-inflicted 
> by Debian, I can understand their rationale behind explicit packaging. They 
> need to have control over the entire package graph. I wonder if there's a way 
> in .deb to specify a required installed package. I'm not calling it a 
> "dependency" since obviously it would rather be "python3-typing" that depends 
> on "python3".

Fedora just lives with the circular dependency between python3 and
python3-pip, which ensures both are installed by default (this
arrangement allows "python3 -m venv" to still install pip, without
actually needing a second copy of pip inside the python3 package)

A bundled typing module that "python -m venv" installed by default
would probably require similar treatment.

> But even if Debian installs python3-typing by default, will "pip install -U 
> typing" be possible in this scenario? I guess it wouldn't be terrible if that 
> only worked in virtualenvs, although ideally it would work also for the raw 
> host installation.

"sudo pip install <anything>" remains a terrible idea on any distro,
because it leads to pip and the system package manager getting into a
fight over which tool is responsible for managing the affected files.

"pip install --user --upgrade typing" should work OK, though.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to