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