python - pip uninstall 工作但给出错误

标签 python python-3.x pip virtualenv pypi

我已经下载、构建并安装了示例 pypi 项目。该项目应该用于深入了解 python 打包,并在 Python Packaging User Guide 中引用。和 Packaging and Distributing Projects .因此,我很困惑,到底为什么按照他们关于创建软件包的说明进行卸载时出现错误。

如上所述,我使用了他们的示例项目。如果有人能阐明一些观 pip ,我们将不胜感激。

要 pip :我运行的是 Mac OSX,我安装的 python 版本是 3.5.1 以下是重现问题的步骤:

mkdir testdirectory 
cd testdirectory/
pyvenv venv    # Creating a virtual environment
source venv/bin/activate
git clone https://github.com/pypa/sampleproject.git    # Getting sample project
cd sampleproject/
python setup.py build
python setup.py install    # Installing on the virtual environment

pip list
peppercorn (0.5)
pip (7.1.2)
sample (1.2.0)
setuptools (18.2)

pip uninstall sample

产生以下输出:

Uninstalling sample-1.2.0:
  /Users/steve/testdirectory/venv/bin/sample
  /Users/steve/testdirectory/venv/lib/python3.5/site-packages/sample-1.2.0-py3.5.egg
Proceed (y/n)? y
  Successfully uninstalled sample-1.2.0
Traceback (most recent call last):
  File "/Users/steve/testdirectory/venv/bin/pip3", line 11, in <module>
    sys.exit(main())
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/__init__.py", line 217, in main
    return command.main(cmd_args)
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/basecommand.py", line 248, in main
    pip_version_check(session)
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/utils/outdated.py", line 102, in pip_version_check
    installed_version = get_installed_version("pip")
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/utils/__init__.py", line 858, in get_installed_version
    working_set = pkg_resources.WorkingSet()
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 629, in __init__
    self.add_entry(entry)
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 685, in add_entry
    for dist in find_distributions(entry, True):
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2075, in find_eggs_in_zip
    if metadata.has_metadata('PKG-INFO'):
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1605, in has_metadata
    return self.egg_info and self._has(self._fn(self.egg_info, name))
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1963, in _has
    return zip_path in self.zipinfo or zip_path in self._index()
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1843, in zipinfo
    return self._zip_manifests.load(self.loader.archive)
  File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1783, in load
    mtime = os.stat(path).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '/Users/steve/testdirectory/venv/lib/python3.5/site-packages/sample-1.2.0-py3.5.egg'

看来包已正确卸载,但仍然会抛出错误。

最佳答案

这是记录在案的:

$ pip help uninstall

Usage:
  pip uninstall [options] <package> ...
  pip uninstall [options] -r <requirements file> ...

Description:
  Uninstall packages.

  pip is able to uninstall most installed packages. Known exceptions are:

  - Pure distutils packages installed with ``python setup.py install``, which
    leave behind no metadata to determine what files were installed.
  - Script wrappers installed by ``python setup.py develop``.

即你收到错误是因为你没有使用 pip 本身来安装 - 你使用了 setup.py 所以 pip 不知道安装了什么。

关于python - pip uninstall 工作但给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37856569/

相关文章:

python - Python 上的 Gurobi 优化器

python - 如何从 django 中包含逗号分隔数据的列中获取唯一值?

python - 如何使用另一个列表过滤一个列表?

python - 如何使用测试数据库响应 django.test.Client

python-3.x - 如何将枚举(或列表)传递给SQLite?

python - 一周结束日期,周日为一周的第一天

python - pip install regex 无法在 Anaconda python3.6.9 virtualenv 上构建

python - 如何使用 Django 的 ORM 提取随机记录?

python - PyTorch 安装 - PiP - 错误

python - 错误 : No Module Named NLTK Python2. 7 Linux