Why Manjaro ships pip packages as python-x?

In short, why does repo include pip packages as usual? For example, what is the difference between python-pylint and pip pylint?

python-* is for system
pip install is only for user (developers)

we can have for one lib python2-***
now python-***
tomorrow python4-***

1 Like

The name come from the Arch packaging guidelines: Python package guidelines - ArchWiki

For Python 3 library modules, use python-modulename . Also use the prefix if the package provides a program that is strongly coupled to the Python ecosystem (e.g. pip or tox ). For other applications, use only the program name.

The same is valid for Perl, PHP, Ruby, nodejs, etc…

The Arch package python-pylint is installed system wide

pip install pylint

Will install pylint in user mode (~/.local/) and this is the default only from the last version released this year.

Before pip version 20, using pip install would have trown an install error because it tried to install in a root owned folder, so you can see to use sudo pip install but that will will write/overwrite/mess with your system and lead to inconsistencies or filesystems conflicts if you for example ‘sudo pip install pylint’ by yourself and later packkage require python-pylint you will have the error: file exist on filesystem

3 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.