首先说明,这个运行其他 Python 版本并不是影响 jupyter notebook 的 Python 版本,而是在 notebook 中通过!python xxxxx.py
执行我上传的脚本所使用的 Python。
撰写本文时,Colab 的 Python 是 3.7。
我的项目中用到了一些 3.8、3.9 的新语法,所以没法在 Colab 上面跑,但我也不想把这些语法改成旧的,所以只能在 Colab 上升级了。
经过一番摸索,发现最靠谱的方法是在 apt 中安装新版 Python,然后全程使用 venv,而不用系统的 Python。系统的 Python 总是遇到 pip 安装库时的各种奇怪问题。
所以,在 notebook 中的命令如下:
!sudo apt-get update -y !sudo apt-get install python3.9 python3.9-distutils python3.9-venv !python3.9 --version !python3.9 -m venv venv
之后运行 pip 安装第三方库、运行 python xxxx.py 时,都使用如下方式:
!venv/bin/pip install xxx_library !venv/bin/python xxx.py