从调用`setup.py install`的源文件夹中调用`pip uninstall`
问题描述
如果我克隆使用setuptools
的Repos,则可以使用python3 setup.py install --user
安装它。
例如:
git clone https://github.com/pybliometrics-dev/pybliometrics
cd pybliometrics
python3 setup.py install --user
但是,我不能再通过pip卸载它。事实上:
$ pip3 uninstall pybliometrics
Found existing installation: pybliometrics 3.2.1.dev2
Can't uninstall 'pybliometrics'. No files were found to uninstall.
我必须更改目录才能成功执行卸载命令。如果要重新安装,请将目录切换回原来的目录。
为什么?
如何从用于安装它的同一文件夹中卸载?
以下是评论中询问的pip show
的输出:
$ pip show -f pybliometrics
Name: pybliometrics
Version: 3.2.1.dev2
Summary: Python-based API-Wrapper to access Scopus
Home-page: https://pybliometrics.readthedocs.io/en/stable/
Author: 'John Kitchin and Michael E. Rose
Author-email: Michael.Ernst.Rose@gmail.com
License: MIT
Location: /run/media/MYNAME/MYID/data/progetti_miei/pybliometrics
Requires: pbr, requests, simplejson, tqdm
Required-by:
Files:
Cannot locate RECORD or installed-files.txt
解决方案
在pip show -f pybliometrics
命令的输出中,我们可以看到:
Files:
Cannot locate RECORD or installed-files.txt
这可能解释了无法卸载它的原因。我不确定这是如何发生的,也不知道如何修复它。
但话虽如此,以下是一些注意事项:
您的问题中显示的命令不一致。一方面调用
pip show -f pybliometrics
,另一方面调用pip3 uninstall pybliometrics
。但是pip
和pip3
不一定是一回事,也不一定与相同的项目交互。请勿使用
python setup.py install
。现在不建议调用setup.py
,建议通过pip安装Python项目。永远不应直接调用
pip
脚本,而应始终倾向于使用目标Python解释器显式调用pip可执行模块(有关详细信息,请参阅this reference article和this other answer)。
因此,在您的情况下,您可能应该做什么(不能保证它会解决您的问题,但会将风险降至最低):
- 清楚地确定您要使用的是哪个Python解释器,假设它是
path/to/bin/pythonX.Y
- 安装项目的方式:
path/to/bin/pythonX.Y -m pip install --user path/to/pybliometrics
- 使用
path/to/bin/pythonX.Y -m pip show -f pybliometrics
检查已安装的项目 - 卸载项目:
path/to/bin/pythonX.Y -m pip uninstall pybliometrics
相关文章