问题描述
在使用brew将我的系统解释器升级到[email protected]之后,现在一切都乱了。我认为brew在pip3
到pip
之间建立了符号链接,从而使升级后可以直接使用pip install <package>
而不是使用pip3
,每当我打电话给pip时,这个东西就不复存在了,我得到一个bad interpreter: No such file or directory <python3.7 old directory>
,除非我用pip3.8
中的完整路径引用/usr/local/Cellar/[email protected]
,否则我将无法安装任何新软件包。因此,我将pip
链接到pip3.8
上,这并不是有史以来的最佳实践,并且大多数依赖python3.7的软件包当前都崩溃了,例如:jupyter notebook
,当我开始使用{{1} }在终端上打开浏览器中的jupyter,但是一旦打开笔记本,我就会收到内核错误,因为出于某种原因它取决于jupyter notebook
,而该python3.7
并不存在。即使当我尝试python3.8 -m jupyter notebook
时,我也会遇到相同的错误。不用说从终端ex例如scrapy
启动的大多数软件包都在寻找python3.7解释器。因此,我使用brew来安装[email protected],该文件不会自动安装在/usr/local/bin
或/usr/bin
中,以避免与系统冲突。
所以……您有个主意,我一团糟,而且由于我不了解python结构如何在OSX系统中生存的动态,我想最好的方法是擦除所有python3.x
,包括软件包,pip以及各种组件,打破依赖关系,让它们依赖于本机python2.7
,或者我不知道我确定有某种干净的方法可以做到这一点,然后干净安装python3.8
。关于如何执行此操作而又不会造成更多混乱并能够清理所有内容并最终进行干净的python3.8
安装的任何建议?
解决方法
您可能会尝试使用quickstart.js
或which python
来找到它们的位置,并删除它们(如果您要这么做的话)。
您也可以尝试which python3.8
或最终需要的任何版本。为此,您不必在每次打开新终端时都键入该字符,可以编辑alias python=python3.8
并将其添加到默认位置。