The most likely reason you are seeing packages with pacman -Qe
that you don't remember installing is that they were part of a "group" (like base-devel
, etc) that you installed.
Side Note: I have personally also been looking for a while to switch a package from "explicit" to "implicit" (and even vice-versa) without reinstalling it, it even taking a package I installed explicitly to get another package working and turn it into a dependency of that package (again without reinstalling).
If you don't need the python packages for all users then you can install them in your home like this:
pip install --user packagename
Installing in your home will not conflict with the package manager.
By default pip install --user
will install in your "user site" directory. Usually that is something like: /home/lesmana/.local/lib/python3.6/site-packages
.
The following command will print, among others, your "user site" location:
python -m site
To customize the install location:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
this will install everything under $HOME/some/dir
to run:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
See the pip manual for more information.
if you do want the python package for all users then the best place to install it is /opt
. for example like this:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(note the missing --user
)
and to run, as above:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Background explanation: /opt
is commonly acknowledged by gnu/linux distributions as the directory where the local user or system administrator can install his own stuff. in other words: the package manager of distributions usually do not touch /opt
. this is more or less standardized in the Filesystem Hierarchy Standard
For comfort for the users you will still want to write a wrapper script and place it in /bin
or /usr/bin
. This still bears risk of colliding with the distribution package manager but at least it is just one wrapper script file. So the damage that might be done is minimal. You can name the wrapper script something like local-foo
or custom-foo
to further minimize the risk of collision with the distribution package manager.
Alternatively you can modify PATH
to include /opt/bin
and place your wrapper script there. But this again requires you to modify a (or some) system files where PATH
is defined which again may be overwritten by the distribution package manager.
In short: if you want to install for all users then do so in /opt
. Where you place the wrapper script for comfort is a judgement call.
More Information about /opt
and Filesystem Hierarchy Standard:
Best Answer
All of the packages can be viewed online in the Arch Package Database. Once you have located your package, simply view it in svntogit.
If you use surfraw, there is even an elvis for the package database...
Another alternative to Chris' answer is, if you have ABS installed, is just to read the PKGBUILD or $pkg-install file from your
/var
:For example, if you wanted to read the
mplayer
files, you could just:Note: running Arch without using ABS is like swimming fully clothed; you can do it, it's just not as much fun...