最近在Mac上使用brew安装了最新的Python 3.10.0,用brew unlink/link 命令将Python3从3.8切换至3.10,并在3.10下安装了ipython,启动ipython后可以看到对应的Python为3.10.0,但当我切换回Python3.8后,发现ipython并没有跟着切换回Python3.8,依旧是3.10
这时候的解决办法有如下几种:
一:
重新安装ipython
>>> pip3 uninstall ipython
>>> pip3 install ipython
二:
将IPython模块作为脚本执行
>>> python3 -m IPython
此时IPython的Python版本即为python3命令对应的版本
三:
修改IPython文件
当你使用vim或其他编辑器打开IPython文件时:
>>> vim /usr/local/bin/ipython
#!/usr/local/opt/python@3.10/bin/python3.10
# -*- coding: utf-8 -*-
import re
import sys
from IPython import start_ipython
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(start_ipython())
对,你没看错,IPython其实就是一个脚本文件,所以我们只需第一行的修改解释器路径即可
参考:
https://askubuntu.com/a/766797/685786
https://stackoverflow.com/a/10381987/7151777