[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: best practice when installing python packages



On Saturday, April 25, 2020 1:10:37 PM EDT Anil F Duggirala wrote:
> hello,
> Im having an issue while installing a piece of software with pip3:
> pip3 install --user -r contrib/requirements/requirements-binaries.txt
> 
> Command "python setup.py egg_info" failed with error code 1 in
> /tmp/pip-install-48wlqr39/PyQt5/
> 
> I had previously installed: apt install python3-pyqt5. Now, pyqt5 is
> listed in the requirements-binaries.txt list, however, it requires a
> newer version than the one installed by apt.
> 
> Online I find many people getting a similar error and suggesting using
> pip3 upgrade to upgrade the "pip" and the "setuptools" modules. And
> this brings me to my question. What happens if I use pip3 to upgrade a
> module that was installed via apt?
> 
> Now pip3 list is listing both the pip and setuptools modules (which
> were installed using apt). It even tells me about a newer version
> available (via pip). However pip3 list is not listing the pyqt5 module
> as installed, why is it not showing this module, which is installed?
> Does this have to do with the fact that my pip or setuptools modules
> are outdated? (both have much newer versions available via pip)
> 
> please reply to my email, I am not subscribed to this list,
> thank you,

On Debian pip/pip3 does a user install by default, so if you do an 'upgrade' 
of a system installed module, it should have no system wide effect, only for 
the current user.

The Buster (Debian 10) version of PyQt5 does not install the Python packaging 
related metadata, so it not being listed by pip3 is not a surprise (for the 
next release it is provided).

For cases like this, I think the best practice is to work inside a virtualenv 
where you can upgrade pip and install whatever you need via pip with no impact 
on either your user or system python.

Scott K

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: