有人能帮我理解这两个python输出之间的区别吗?
root@ip-192-168-20-21:~# apt install python3
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3 is already the newest version (3.6.7-1~18.04).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ip-192-168-20-21:~# apt install python3.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3.6 is already the newest version (3.6.9-1~18.04ubuntu1.4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ip-192-168-20-21:~# python3 --version
Python 3.6.9
cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic我的问题是Python3.6.9有很多安全漏洞,比如CVE-2021-3177。根据https://ubuntu.com/security/cve-2021-3177,该漏洞已在(3.6.9-1~18.04ubuntu1.4)中修复并释放。
OS服务器是带有最新Ubuntu补丁的up2date。然而,我的VA工具仍然报告同样的漏洞仍然存在于这些系统中。有人知道为什么会发生这种事吗?有什么办法可以克服吗?
我希望这种情况正在发生,因为我的默认python3版本仍然在最后一个命令输出中显示Python 3.6.9。有人能对此提出建议吗?
发布于 2021-09-01 09:27:53
python3命令链接到许多已安装的python二进制文件之一。
您可以看到,还有其他的avaialble,对于您的具体示例,我设想使用python3.6 --version将生成输出,告诉您它是3.6.9-1~18.04ubuntu1.4,并且简单地运行python3.6本身将启动pythonVersion3.6repl
要了解安装和可用的python3二进制文件的版本变体,请尝试运行ls -la /usr/bin | grep python3 (删除3以查看那里的任何python2)。
只有一个python版本可以链接到python3命令,上面命令的输出应该提供类似于python3 -> python3.6的内容。
您可以通过执行which python3 (应该是/usr/bin/python3 )来验证哪个是当前的。
这不是很好的实践,但是您可以通过别名:python3使用户会话对alias python3='/usr/bin/python3.9'命令使用不同的版本。最佳实践是使用apt install python-venv,然后在需要特定版本的项目目录中使用/usr/bin/python3.9 -m venv .venv。
https://askubuntu.com/questions/1345732
复制相似问题