引言
Colab团队十分自负x,除了在更新Python版本时提供上一个版本的Python,目前没有使用3.11以外版本的选项。
但是有一些包可能不支持特定的Python版本,这就麻烦大了。
主要参考这个回答,目前能够成功降级。
更换Python版本
这里选择降级到Python3.9。
在提示重启的时候重启。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | !sudo apt-get update -y
 !sudo apt-get install python3.9
 
 !sudo apt-get install python3.9-distutils
 
 !sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1
 
 !sudo update-alternatives --config python3
 
 
 
 !apt-get install python3-pip
 
 !python -m pip install --upgrade pip --user
 
 
 !echo -e 'export PATH="$PATH:/root/.local/bin"' >> $HOME/.bash_profile
 !echo -e 'export PATH="$PATH:/root/.local/bin"' >> $HOME/.bashrc
 
 | 
至此,其实已经成功更换了Python版本。 
更换cell使用的Python版本
但是notebook还没有,另外一些方法到此为止,每个cell都需要执行%%bash来选择环境。
但是这个方法可以让cell直接使用3.9。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | !sudo update-alternatives  --set python3 /usr/bin/python3.9
 !curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
 !python3 get-pip.py --force-reinstall
 
 !python3 -m pip install ipython ipython_genutils ipykernel jupyter_console prompt_toolkit httplib2 astor
 
 !ln -s /usr/local/lib/python3.11/dist-packages/google \
 /usr/local/lib/python3.9/dist-packages/google
 
 !sed -i "s/from IPython.utils import traitlets as _traitlets/import traitlets as _traitlets/" /usr/local/lib/python3.9/dist-packages/google/colab/*.py
 !sed -i "s/from IPython.utils import traitlets/import traitlets/" /usr/local/lib/python3.9/dist-packages/google/colab/*.py
 
 | 
至此已经完全更换了Python版本。
| 12
 
 | import sysprint(sys.version)
 
 | 
| 12
 
 | 3.9.21 (main, Dec  4 2024, 08:53:33) [GCC 11.4.0]
 
 |