【问题标题】:Import local python file to Jupyter Notebook将本地 python 文件导入 Jupyter Notebook
【发布时间】:2021-10-29 20:16:11
【问题描述】:

我需要将一些存储在本地内存中的 python 文件作为模块导入到我的 Jupyter Notebook 中。

我的 jupyter notebook 存储在 C:\snip\Pictures\demo 中,我需要导入存储在 C:\snip\Pictures\demo\mrcnn 中的 python 文件。

当我尝试这个时:

from mrcnn import utils
from mrcnn import visualize
from mrcnn.visualize import display_images
from mrcnn.visualize import display_instances
import mrcnn.model as modellib
from mrcnn.model import log
from mrcnn.config import Config
from mrcnn import model as modellib, utils

我收到此错误:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-10-fdc1339465a7> in <module>
     17 import matplotlib.image as mpimg
     18 
---> 19 from mrcnn import utils
     20 from mrcnn import visualize
     21 from mrcnn.visualize import display_images

ModuleNotFoundError: No module named 'mrcnn'

mrcnn 是文件夹名称,而 utils、visualize... 是文件夹内的 python 文件。我该如何解决?

【问题讨论】:

  • 试试import mrcnn.utils
  • 仍然出现同样的错误
  • 将名为__init__.py 的文件添加到文件夹mrcnn。可以为空
  • 已经存在同名的python文件。

标签: python python-3.x import jupyter-notebook anaconda


【解决方案1】:

这样做。像这样打印sys.path。这列出了 python 解释器在执行import 时正在查看的目录。

import sys

print(sys.path)
Output (Something like this):

['/mnt/c/Users/lapto/Desktop/demos', '/home/elaaf/anaconda3/lib/python38.zip', '/home/elaaf/anaconda3/lib/python3.8', '/home/elaaf/anaconda3/lib/python3.8/lib-dynload', '/home/elaaf/anaconda3/lib/python3.8/site-packages', '/home/elaaf/anaconda3/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg']

如果您当前的工作目录在输出列表中。 您的import 调用不仅仅是不在当前目录中查找。

尝试将当前目录添加到sys.path 并导入模块

import sys

sys.path.append(".")

如果这有帮助,请告诉我。

【讨论】:

  • 我的当前目录在输出列表中。这可能意味着它知道在 mrcnn 文件夹中查找吧?
  • 是的。我还在 Jupyter 笔记本中测试了你的情况,它导入得很好。奇怪。
  • 做了一个新的笔记本,它工作,不知道为什么。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 2021-10-04
  • 2019-04-21
  • 1970-01-01
相关资源
最近更新 更多