使用python包时导入错误

Posted

技术标签:

【中文标题】使用python包时导入错误【英文标题】:import error when using packages of python 【发布时间】:2020-11-19 09:29:19 【问题描述】:

有人可以帮我解决这个错误吗?我正在使用 Ubuntu 20.04 和 jupyter 笔记本。 (我直接从 ubuntu 应用商店安装了项目 jupyter。我没有安装 anaconda 或 spyder。)

我已经尝试过,但没有任何效果

!pip install opencv-python

sudo apt-get install python3-opencv

apt update && apt install -y libsm6 libxext6 libxrender-dev

奇怪的是,如果在其他 python 文件中编写相同的代码并通过终端运行它就可以了。但我无法在 Jupyter Notebook 中运行相同的代码

ImportError                               Traceback (most recent call last)
<ipython-input-1-c8ec22b3e787> in <module>
----> 1 import cv2

/home/adarsh/snap/jupyter/common/lib/python3.7/site-packages/cv2/__init__.py in <module>
      3 import sys
      4 
----> 5 from .cv2 import *
      6 from .data import *
      7 

ImportError: libSM.so.6: cannot open shared object file: No such file or directory

【问题讨论】:

您是否尝试过更新和安装库? apt update &amp;&amp; apt install -y libsm6 libxext6 libxrender-dev @CarlosDutra 是的,我也试过了。 你能检查一下你在终端中使用的是哪一个 python 以及你在 ipython notebook 中使用的是哪一个吗? 我可以看看你的 cv2 文件吗???只需尝试使用 .(dot)cv2 import * 中的空格 @Marc 终端和 jupyter notebook 都在使用 python 3 【参考方案1】:

在我的代码前面添加以下行解决了我的问题

!pip install opencv-python-headless
# also contrib, if needed
!pip install opencv-contrib-python-headless

【讨论】:

【参考方案2】:

你实际上可以使用 jupyter notebook 自己安装

conda install opencv

【讨论】:

它也不起作用,但感谢您的关注。你能告诉我是否有任何其他方法可以摆脱这个错误............ 我会看看有没有别的东西!! 我已经写在笔记本里了 对不起兄弟,但这是我所知道的最好的!..希望你能得到解决方案 你为什么对不起兄弟,你已经尽力解决这个错误,即使它不是你的问题。我真的很感谢能和这么好的人接触

以上是关于使用python包时导入错误的主要内容,如果未能解决你的问题,请参考以下文章

Python - 导入包失败

卸载包时如何在 pipenv 中自动删除依赖的 Python 包?

在 alpine 中安装 python3 包时出错

python 导入自写包时ModuleNotFoundError 解决

PySpark 工作人员在安装包时无法导入包

Python中的“尝试相对导入超出***包”错误意味着啥?