On Fri, Aug 22, 2025 at 10:39 AM Soren via Cygwin <[email protected]> wrote:
>

> ... I didn't seem to have
> "pip" installed (notice the "seem" por favor). So I started
> setup-x86_64 and worked through the process of installing "pip". I am
> working with python3 so I tried to select a "pip" that corresponded
> with it.

Python uses the "alternatives" system to allow multiple versions of
python to be installed at the same time.

Use "man alternatives" or "info alternatives" to learn about it, as
there are several different "alternative" implementations used by
different *NIX systems.

Briefly, "alternatives" is located at "/usr/sbin/alternatives",
because several of its functions required "root" or an elevated shell,
e.g. started with "run as administrator".

The "alternatives --list" command will show you which programs are
configured to use "alternatives". On my machine, the output looks
like:

$ /usr/sbin/alternatives --list
pip3                    auto    /usr/bin/pip3.12
pydoc3                  auto    /usr/bin/pydoc3.12
python                  manual  /usr/bin/python3.12.exe
python3                 manual  /usr/bin/python3.12.exe
sphinx-apidoc           auto    /usr/bin/sphinx-apidoc-3.9
sphinx-autogen          auto    /usr/bin/sphinx-autogen-3.9
sphinx-build            auto    /usr/bin/sphinx-build-3.9
sphinx-quickstart       auto    /usr/bin/sphinx-quickstart-3.9

(This also shows that I have only installed the 3.9 version of the
sphinx documentation creation suite, and not the 3.12 version.)

The "alternatives pip3" and "alternatives python3" commands show me more info:

$ /usr/sbin/alternatives --display pip3
pip3 - status is auto.
 link currently points to /usr/bin/pip3.12
/usr/bin/pip3.9 - priority 39
/usr/bin/pip3.12 - priority 312
Current `best' version is /usr/bin/pip3.12.

$ /usr/sbin/alternatives --display python3
python3 - status is manual.
 link currently points to /usr/bin/python3.12.exe
/usr/bin/python3.9 - priority 39
/usr/bin/python3.12 - priority 312
Current `best' version is /usr/bin/python3.12.

These show that I have two versions installed, with the 3.12 versions
configured as the defaults. I can still run the non-default versions
by using the full file names, e.g. "python3.9". You are strongly
advised to use the corresponding versions together, to avoid your
confusion and Python errors.

The root user (I, in an elevated shell) can change the default
versions between 3.9 and 3.12 by using the interactive "alternatives
--config python3" and "alternatives --config pip3" commands.

As a regular user, I use the "python3" or just "python" and the
"pip3" commands to run Python and Pip. You will have to create a
virtual environment using e.g. "python -m venv venv" to use "pip
install" as a regular user. Otherwise you will need to run "pip
install" in an elevated shell.

HTH
Doug

-- 
Doug Henderson, Calgary, Alberta, Canada - from gmail.com

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to