文章目录
亲测有效;按照这个思路,jupyter的内部环境可以理解更加清晰。并且能够熟练使用不同核心的jupyter,以满足不同的工作需求。
1、问题:jupyter 内部安装 第三方包 ,安装成功后无法导入。
- 问题如下:
- 在jupyter 中那安装好了ultralytics的包,回头导入就出现了问题。
ModuleNotFoundError Traceback (most recent call last)
Cell In[2], line 1
----> 1 import ultralytics
2 ultralytics.checks()
ModuleNotFoundError: No module named 'ultralytics'
2、解决思路:以pycharm为砖,引出解决办法。
- 问题在于你安装的包的地址和jupyter用的解释器的地址不一致。
我们都知道pycharm一开始会让我们选择一个python.exe的文件,这个文件就是python解释器。那么jupyter也有一个解释器,我们称为jupyer 核心。下图是我的三个jupyter核心。你应该能理解每个核心中的包是不一样的,我们要使用哪个核心取决于我们的任务。比如我要用到yolov8的库,那么我就用YOLOV8_1这个核心。
那么你的所有jupyter导入的包都来自于这个核心。换句话说,你可以将conda环境作为pycharm的解释器环境,那么你也可以将conda环境作为jupyter的解释环境,本质是一样的。
3、解决办法:将conda环境导入为jupyter核心。对于新的安装包例如yolov8的ultralytics,需要再次更新pip install --upgrade ultralytics
才能成功。
- 打开conda终端 prompt,输入下面代码
这个包可以用于修改jupyter核心
conda install ipykernel
- 创建一个你需要的conda环境
conda create -n yolov8_1 python=3.9
3、激活conda环境并安装你所要使用的包
conda activate yolov8_1
# 下面拿ultralytics包为例子
conda install ultralytics
- 将conda环境导入到jupyter当中
python -m ipykernel install --name yolov8_1
-
打开jupyter查看你的核心数量,你会发现多可一个叫做yolov8_1的核心。以后有任何安装包,都可以在conda下的yolov8_1中安装,jupyter便可以使用了。
-
使用
!pip list
查看你所需要的安装包,你会发现我需要的包已经安装好了
-
重新导入一下试一下,发现依旧不可以
-
我们再更新一下这个ultralytics版本,因为yolov8比较新,更新还比较快,所以一定要自己更新一下。成功了。
python -m pip install --upgrade pip # 更新一下pip
pip install --upgrade ultralytics # 更新ultralytics