Mos*_*she 6 ubuntu alternatives python3
我正在创建Ubuntu 20.04的 AMI (Focal Fossa),并且我希望默认的 Python 版本为 3.6。
我安装了 Python 3.6,也是正确的 pip,然后像这样设置替代方案:
update-alternatives --install \
/usr/bin/python3 \
python3 \
/usr/bin/python3.6 \
10
Run Code Online (Sandbox Code Playgroud)
但是后来我遇到了许多与CPython包相关的问题,例如python3-apt
(apt_pkg, apt_inst),netifaces
,可能还有更多我还没有发现。
它们都位于/usr/lib/python3/dist-packages
并且包名称采用以下格式:
{name}.cpython-38-x86_64-linux-gnu.so
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为 Ubuntu 20.04 的默认 Python 版本是 Python 3.8。
谷歌搜索的直接解决方案是像这样链接名称:
ln -s {name}.cpython-38-x86_64-linux-gnu.so {name}.so
Run Code Online (Sandbox Code Playgroud)
IE:
ln -s apt_pkg.cpython-38-x86_64-linux-gnu.so apt_pkg.so
ln -s netifaces.cpython-38-x86_64-linux-gnu.so netifaces.so
Run Code Online (Sandbox Code Playgroud)
我尝试apt install --reinstall python3-apt
在默认 Python 版本为 3.6 时重新安装相关的包 ( ),但它不起作用,而这种链接的解决方案*.so
文件的不可扩展!
有没有办法让 Python 3.6 与系统的默认 CPython 包一起工作?