代码之家  ›  专栏  ›  技术社区  ›  robertspierre

从调用setup.py的源文件夹中调用“pip uninstall”

  •  0
  • robertspierre  · 技术社区  · 4 年前

    如果我克隆一个使用 setuptools ,我可以使用安装 python3 setup.py install --user

    例如:

    git clone https://github.com/pybliometrics-dev/pybliometrics
    cd pybliometrics
    python3 setup.py install --user
    

    然而,我再也无法卸载它了。事实上:

    $ 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
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   sinoroc    4 年前

    在的输出中 pip show -f pybliometrics 命令,我们可以阅读:

    Files:
    Cannot locate RECORD or installed-files.txt
    

    这也许可以解释为什么无法卸载它。我不知道这是怎么发生的,也不知道如何解决。

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

    1. 问题中显示的命令不一致。一方面你打电话 pip-show-f比重计 另一方面你打电话 pip3 uninstall pybliometrics 但是 pip pip3 不一定是同一件事,也不一定与相同的项目交互。

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

    3. 一个人永远不应该打电话给 pip 直接调用脚本,但应该始终更喜欢显式调用 pip 带有目标Python解释器的可执行模块(请参阅 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