从调用`setup.py install`的源文件夹中调用`pip uninstall`

Calling `pip uninstall` from the source folder where `setup.py install` was called(从调用`setup.py install`的源文件夹中调用`pip uninstall`)
本文介绍了从调用`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

这可能解释了无法卸载它的原因。我不确定这是如何发生的,也不知道如何修复它。

但话虽如此,以下是一些注意事项:

  1. 您的问题中显示的命令不一致。一方面调用pip show -f pybliometrics,另一方面调用pip3 uninstall pybliometrics。但是pippip3不一定是一回事,也不一定与相同的项目交互。

  2. 请勿使用python setup.py install。现在不建议调用setup.py,建议通过pip安装Python项目。

  3. 永远不应直接调用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

这篇关于从调用`setup.py install`的源文件夹中调用`pip uninstall`的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)