C:\cygwin64\bin\python3 doesn't work from cmd

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Tue Oct 7 18:33:30 GMT 2025


On 2025-10-07 07:59, Thomas Wolff via Cygwin wrote:
> 
> Am 07.10.2025 um 15:51 schrieb Aurélien Couderc via Cygwin:
>> On Tue, Oct 7, 2025 at 3:47 PM Marco Atzeri via Cygwin
>> <cygwin@cygwin.com> wrote:
>>> On 07/10/2025 14:17, gamer 191 via Cygwin wrote:
>>>> Hi,
>>>> I noticed that C:\cygwin64\bin\python3 doesn't work if I invoke it from
>>>> command prompt, likely because it doesn't have the .exe extension. It works
>>>> if I create a copy named python3.exe.
>>>> Kind regards,
>>>> gamer191
>>>>
>>> Hi Gamer
>>>
>>> python3 is a Cygwin link managed by alternatives and NOT understood by
>>> command prompt.
>>>
>>>
>>> $ ls -l python3
>>> lrwxrwxrwx 1 marco Administrators 25 May 21  2023 python3 ->
>>> /etc/alternatives/python3
>>>
>>> $ alternatives --display python3
>>> python3 - status is auto.
>>>    link currently points to /usr/bin/python3.9
>>> /usr/bin/python3.8 - priority 38
>>> /usr/bin/python3.9 - priority 39
>>> Current `best' version is /usr/bin/python3.9.
>>>
>>>   From CMD you need to invoke directly the relative python3.9.exe
>>>
>>> c:\cygwin64\bin>dir /A /S python3*.*
>>>    Volume in drive C is OS
>>>    Volume Serial Number is 2232-4AA9
>>>
>>>    Directory of c:\cygwin64\bin
>>>
>>> 21/05/2023  20:47                64 python3
>>> 21/05/2023  20:48                78 python3-config
>>> 10/03/2023  00:34             3,420 python3.8-config
>>> 10/03/2023  00:34             9,747 python3.8.exe
>>> 08/03/2023  23:52             3,048 python3.9-config
>>> 08/03/2023  23:53             9,747 python3.9.exe
>>>                  8 File(s)         38,879 bytes

>> Could the setup.exe Cygwin installer PLEASE get a GUI(!!) option to
>> install packages using native Windows symlinks? That would fix that
>> recurring problem.

It would not - some executables are scripts so Windows has no way to run them 
anyway without some Cygwin interface.

> It would also help, and not need such problematic reconfiguration, if ln -s did 
> set up a symlink as .exe if it points to a .exe, like:
> ln -s python3.9 /bin/pythonlink
> ls -l /bin/pythonlink*
> ... /bin/pythonlink.exe -> python3.9.exe
> Packages could also ensure this themselves with
> ln -s python3.9.exe /bin/pythonlink.exe

Then shell users may have to specify .exe on many things, including changing 
every script, none of which specify exe - no thanks!
Most of us just want a seamless POSIX experience, regardless of system, and be 
able to move scripts and sources from one to the other, and back.

Use a Cygwin terminal and/or shell, or deal with the incompatibilities, such as 
by creating your own *non-conflicting* native Windows symlinks including .exe:
if that breaks something - you have to deal with it - no one else!

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


More information about the Cygwin mailing list