pip 卸载不会完全删除包
Posted
技术标签:
【中文标题】pip 卸载不会完全删除包【英文标题】:pip uninstall does not remove package fully 【发布时间】:2021-12-08 17:02:48 【问题描述】:长话短说,numpy 在我导入 matplotlib 时给了我错误,所以我想pip uninstall numpy
并重新安装它。但未能完全卸载 numpy。
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/tmp/ipykernel_26902/2971697587.py in <module>
----> 1 import matplotlib
~/.local/lib/python3.7/site-packages/matplotlib/__init__.py in <module>
105 # cbook must import matplotlib only within function
106 # definitions, so it is safe to import from it here.
--> 107 from . import _api, cbook, docstring, rcsetup
108 from matplotlib.cbook import MatplotlibDeprecationWarning, sanitize_sequence
109 from matplotlib.cbook import mplDeprecation # deprecated
~/.local/lib/python3.7/site-packages/matplotlib/rcsetup.py in <module>
24 from matplotlib import _api, animation, cbook
25 from matplotlib.cbook import ls_mapper
---> 26 from matplotlib.colors import Colormap, is_color_like
27 from matplotlib.fontconfig_pattern import parse_fontconfig_pattern
28 from matplotlib._enums import JoinStyle, CapStyle
~/.local/lib/python3.7/site-packages/matplotlib/colors.py in <module>
80 import matplotlib as mpl
81 import numpy as np
---> 82 from matplotlib import _api, cbook, scale
83 from ._color_data import BASE_COLORS, TABLEAU_COLORS, CSS4_COLORS, XKCD_COLORS
84
~/.local/lib/python3.7/site-packages/matplotlib/scale.py in <module>
16 import matplotlib as mpl
17 from matplotlib import _api, docstring
---> 18 from matplotlib.ticker import (
19 NullFormatter, ScalarFormatter, LogFormatterSciNotation, LogitFormatter,
20 NullLocator, LogLocator, AutoLocator, AutoMinorLocator,
~/.local/lib/python3.7/site-packages/matplotlib/ticker.py in <module>
177 import matplotlib as mpl
178 from matplotlib import _api, cbook
--> 179 from matplotlib import transforms as mtransforms
180
181 _log = logging.getLogger(__name__)
~/.local/lib/python3.7/site-packages/matplotlib/transforms.py in <module>
44
45 from matplotlib import _api
---> 46 from matplotlib._path import (
47 affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
48 from .path import Path
ImportError: numpy.core.multiarray failed to import
在网上找到的解决方案不起作用后,我决定卸载并重新安装。 (ImportError: numpy.core.multiarray failed to import)
pi@raspberrypi:~ $ pip uninstall numpy
Uninstalling numpy-1.16.6:
Would remove:
/home/pi/.local/bin/f2py
/home/pi/.local/bin/f2py2
/home/pi/.local/bin/f2py2.7
/home/pi/.local/lib/python2.7/site-packages/numpy-1.16.6.dist-info/*
/home/pi/.local/lib/python2.7/site-packages/numpy/*
Proceed (y/n)? y
Successfully uninstalled numpy-1.16.6
pi@raspberrypi:~ $ pip install numpy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: numpy in /usr/lib/python2.7/dist-packages (1.16.2)
假设第一个命令已经卸载了numpy,为什么要求已经满足?
我尝试了pip uninstall
和pip3 uninstall
。然后还进入python
和python3
导入模块,仔细检查模块是否仍然安装。并且模块导入成功。
同样在/usr/lib/python2.7/dist-packages
文件夹中,numpy
仍然存在。
问题是什么?
如何成功卸载并重新安装 numpy?
编辑:我手动进入了所有python版本的dist-packages
目录,以及rm
所有numpy相关文件。然后重新安装。
【问题讨论】:
您能说说您使用的是哪个版本的python吗?另外,你在哪里运行你的程序(我看到了树莓派,但是有运行代码的软件吗?) 看来您正在混合使用 Python 2 和 3,因为错误消息清楚地提到正在为 Python 2 安装 numpy,即使您似乎想为 3 安装它? @AlirezaGhaffarian 我先做了 python 2,然后是 python3。运行了两个版本的卸载/安装命令,并检查了两个版本的文件夹。对困惑感到抱歉。我在 raspberrypi4 上运行它,当我这样做时,它目前没有在后台运行 python 代码。 @Grismar 我为 python 2 和 python 3 运行了 pip 命令。并使用两个版本进行了测试/验证。很抱歉在最初的帖子中造成混乱。 "假设第一个命令已经卸载 numpy,为什么要求已经满足?"注意你卸载的版本是numpy-1.16.6
,但满足要求的是numpy in /usr/lib/python2.7/dist-packages (1.16.2)
?
【参考方案1】:
您可以使用此命令删除文件
rm -rf f2py
rm -rf 2py2
rm -rf numpy-1.16.6.dist-info/*
rm -rf numpy/*
或仅:
rm f2py
rm 2py2
rm numpy-1.16.6.dist-info/*
rm numpy/*
【讨论】:
所以直接删除文件有同样的目的吗?没有其他缺点? 是的,你直接删除文件 你删除这个,你需要关心你删除的内容以上是关于pip 卸载不会完全删除包的主要内容,如果未能解决你的问题,请参考以下文章