微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python已安装,但在终端中不起作用

如何解决Python已安装,但在终端中不起作用

我使用 Cygwin 终端安装了 Python 3。安装过程中没有出现任何问题。 我明白了:

$ which python3
/usr/bin/python3

$ whereis python3
python3: /usr/bin/python3 /usr/bin/python3.6 /usr/lib/python3.6 /usr/lib/python3.8 
/usr/include/python3.6m /usr/include/python3.8 /usr/share/man/man1/python3.1.gz

但两者都不是

$ python3 $ python3 main.py $ python3 --version

给出任何输出。我之前在同一台计算机上以相同的方式完成了此操作,并且运行良好。这次我做错了什么?还是忘了做?

解决方法

尝试创建一个别名,将python附加到通用名称“python3”上。在您的 Cygwin 终端中写入:

$ alias python3=$(which python3.6)
,

python3 应该是由 alternatives 管理的指向 python3.8

的链接
$ alternatives --display python3
python3 - status is auto.
 link currently points to /usr/bin/python3.8
/usr/bin/python3.6 - priority 36
/usr/bin/python3.7 - priority 37
/usr/bin/python3.8 - priority 38
Current `best' version is /usr/bin/python3.8.

属于python38

$ cygcheck -f /usr/bin/python3.8
python38-3.8.7-3

验证 python38 是否正确安装

$ cygcheck -c python38
Cygwin Package Information
Package              Version        Status
python38             3.8.7-3        OK

并且依赖没有问题

$ cygcheck /usr/bin/python3.8.exe
D:\cygwin64\bin\python3.8.exe
  D:\cygwin64\bin\cygwin1.dll
    C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNELBASE.dll
  D:\cygwin64\bin\libpython3.8.dll
    D:\cygwin64\bin\cygintl-8.dll
      D:\cygwin64\bin\cygiconv-2.dll
    D:\cygwin64\bin\cyggcc_s-seh-1.dll

您更有可能需要重新安装 python38 或所需的库之一

$ cygcheck -f /usr/bin/cygwin1.dll /usr/bin/cygintl-8.dll /usr/bin/cygiconv-2.dll  /usr/bin/cyggcc_s-seh-1.dll
cygwin-3.1.7-1
libgcc1-10.2.0-1
libiconv2-1.16-2
libintl8-0.19.8.1-2

确保在重新安装软件包之前停止 all Cygwin processes;特别是任何正在运行的服务

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。