昨天在使用 Python 时,我注意到我原本使用的大量软件包丢失了,例如matplotlib
.与此同时,我使用的一些其他程序调用 Python 和matplotlib
,运行良好。经过一番挖掘,我发现我安装了两次Python,一次/usr/local/bin
在/usr/bin
.
timeroot@lepus-leaps:~$ /usr/bin/python3 --version
Python 3.8.2
timeroot@lepus-leaps:~$ /usr/local/bin/python3 --version
Python 3.8.3
这两个目录都在我的默认路径上,并且它一直在运行local
我不想要的版本。我该如何安全地摆脱它?我可以删除该文件,但我担心这会在其他地方留下大量垃圾,从而导致更多问题。 (例如pip3
,它也存在两次。)
作为第二个附带问题,有任何线索表明这是如何发生的吗?
答案1
正如 Philip Couling 正确猜测的那样,这是不久前从源代码安装 Python 的结果。不幸的是,官方的 python 发行版没有卸载程序选项。然而,运行make -n install
显示了它将在我的机器上执行的完整操作列表,然后我能够编写适当的相反命令。如果它对其他人有帮助,这里是我使用的命令:
rm -r /usr/local/lib/python3.8 #all install pip packages
rm /usr/local/lib/libpython3.8.a
rm -r /usr/local/include/python3.8 #all include packages
rm /usr/local/lib/pkgconfig/python3.pc
rm /usr/local/lib/pkgconfig/python3-embed.pc
rm /usr/local/lib/pkgconfig/python-3.8.pc
rm /usr/local/lib/pkgconfig/python-3.8-embed.pc
rm /usr/local/bin/easy_install-3.8
rm /usr/local/bin/idle3
rm /usr/local/bin/idle3.8
rm /usr/local/bin/ipython
rm /usr/local/bin/ipython3
rm /usr/local/bin/iptest
rm /usr/local/bin/iptest3
rm /usr/local/bin/2to3
rm /usr/local/bin/2to3-3.8
rm /usr/local/bin/f2py
rm /usr/local/bin/f2py3
rm /usr/local/bin/f2py3.8
rm /usr/local/bin/pip
rm /usr/local/bin/pip3
rm /usr/local/bin/pip3.8
rm /usr/local/bin/pydoc3
rm /usr/local/bin/pydoc3.8
rm /usr/local/bin/pygmentize
rm /usr/local/bin/python3
rm /usr/local/bin/python3.8
rm /usr/local/bin/python3-config
rm /usr/local/bin/python3.8-config