首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Windows 10上从Anaconda卸载pip opencv-python?

如何在Windows 10上从Anaconda卸载pip opencv-python?
EN

Stack Overflow用户
提问于 2019-09-16 08:47:41
回答 2查看 12.2K关注 0票数 1

我想在尝试任何其他东西之前问一个特定的问题,这样可能会毁了我的Anaconda发行版。

代码语言:javascript
运行
复制
conda version: 4.7.11
anaconda version: 2019.07
python version: 3.7.3

我按照说明here安装了opencv-python

代码语言:javascript
运行
复制
(base) C:\Users\...>pip install opencv-python

我认为这是有效的,因为我能够在我的Spyder IDE中从import cv2运行defs,并且conda list返回:

代码语言:javascript
运行
复制
...
numpydoc                  0.9.1                      py_0
olefile                   0.46                     py37_0
opencv-python             4.1.1.26                 pypi_0    pypi
openpyxl                  2.6.2                      py_0
...

然而,当我尝试tutorial时,很快就遇到了问题。具体来说,img = cv2.imread('messi5.jpg',0)将返回一个None对象。我用一张本地照片测试了img = cv2.imread(r'C:\path_to_my_image.jpg',0),它正确地返回了一个2D灰度对象数组。我确信我只是没有安装opencv附带的图片库。

我预料到了更多的问题,并做了一些挖掘,我发现this答案显示我可能没有安装正确的cv版本。我尝试使用pip卸载,但打开了active directory中的一个文本文件,并得到一个权限错误!

代码语言:javascript
运行
复制
(base) C:\Users\triton>pip uninstall opencv-python
Uninstalling opencv-python-4.1.1.26:
  Would remove:
    c:\users\triton\anaconda3\lib\site-packages\cv2\*
    c:\users\triton\anaconda3\lib\site-packages\opencv_python-4.1.1.26.dist-info\*
Proceed (y/n)? y
ERROR: Exception:
Traceback (most recent call last):
  File "C:\Users\triton\Anaconda3\lib\shutil.py", line 563, in move
    os.rename(src, real_dst)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'c:\\users\\triton\\anaconda3\\lib\\site-packages\\opencv_python-4.1.1.26.dist-info\\' -> 'c:\\users\\triton\\anaconda3\\lib\\site-packages\\~pencv_python-4.1.1.26.dist-info'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\triton\Anaconda3\lib\site-packages\pip\_internal\cli\base_command.py", line 178, in main
    status = self.run(options, args)
  File "C:\Users\triton\Anaconda3\lib\site-packages\pip\_internal\commands\uninstall.py", line 75, in run
    auto_confirm=options.yes, verbose=self.verbosity > 0,
  File "C:\Users\triton\Anaconda3\lib\site-packages\pip\_internal\req\req_install.py", line 823, in uninstall
    uninstalled_pathset.remove(auto_confirm, verbose)
  File "C:\Users\triton\Anaconda3\lib\site-packages\pip\_internal\req\req_uninstall.py", line 388, in remove
    moved.stash(path)
  File "C:\Users\triton\Anaconda3\lib\site-packages\pip\_internal\req\req_uninstall.py", line 277, in stash
    renames(path, new_path)
  File "C:\Users\triton\Anaconda3\lib\site-packages\pip\_internal\utils\misc.py", line 305, in renames
    shutil.move(old, new)
  File "C:\Users\triton\Anaconda3\lib\shutil.py", line 575, in move
    rmtree(src)
  File "C:\Users\triton\Anaconda3\lib\shutil.py", line 513, in rmtree
    return _rmtree_unsafe(path, onerror)
  File "C:\Users\triton\Anaconda3\lib\shutil.py", line 401, in _rmtree_unsafe
    onerror(os.rmdir, path, sys.exc_info())
  File "C:\Users\triton\Anaconda3\lib\shutil.py", line 399, in _rmtree_unsafe
    os.rmdir(path)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'c:\\users\\triton\\anaconda3\\lib\\site-packages\\opencv_python-4.1.1.26.dist-info\\'

我关闭了文本文件并再次尝试运行pip uninstall opencv-python,但现在收到以下消息:

代码语言:javascript
运行
复制
(base) C:\Users\triton>pip uninstall opencv-python
WARNING: Skipping opencv-python as it is not installed.

我不知道这个警告是否准确,因为conda list仍然将opencv-python显示为可用包:

代码语言:javascript
运行
复制
...
olefile                   0.46                     py37_0
opencv-python             4.1.1.26                 pypi_0    pypi
openpyxl                  2.6.2                      py_0
openssl                   1.1.1c               he774522_1
...

我终于试过conda remove opencv-python了,但它说找不到软件包?!

代码语言:javascript
运行
复制
(base) C:\Users\triton>conda remove opencv-python
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - opencv-python

我想通过this方法执行一次干净的opencv3安装,但不知道是否会有一些库冲突或其他什么。我对这里发生的事情感到非常困惑,并希望在尝试进一步更改我的发行版之前获得建议。如果我需要完全重新安装Anaconda,这并不是世界末日,但我想我会分享这些问题,以防其他人遇到它们!

如果不重新安装Anaconda,我如何确保所有opencv pip文件都被完全删除?

提前感谢您的帮助!

EN

Stack Overflow用户

回答已采纳

发布于 2019-09-16 19:51:22

因为该软件包是由pip安装的,所以您必须通过pip uninstall卸载该软件包。

问题是卸载被中断了,因为一些文件正在被另一个进程获取。

要解决此问题,请重新安装软件包。然后卸载它。

代码语言:javascript
运行
复制
pip install opencv-python -f
pip uninstall opencv-python
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57949240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档