python-3.x - 无法导入相关模块
问题描述
我创建的模块的文件结构如下:
PIV
| __init__.py
| base.py
| core.py
| exceptions.py
.gitignore
LICENSE
requirements.txt
但是每当我运行类似的文件时core.py
,我都会收到以下错误:
Traceback (most recent call last):
File "c:/Users/ghub4/OneDrive/Desktop/Python-Image-and-Video-tools/PIV/core.py", line 33, in <module>
from . import base
ImportError: attempted relative import with no known parent package
当我运行__init__.py
文件时也会发生同样的事情。我不确定出了什么问题,因为所有 python 文件都在同一个文件夹中。有人可以澄清问题所在并解释我应该如何解决它吗?
文件的导入代码core.py
:
from __future__ import absolute_import
import sys
import os
from PIL import Image
import io
from . import base
from . import exceptions
(该__init__.py
文件夹具有与核心文件中相同的相对导入,但还包括from . import core
:)
解决方案
根据您将在下面给出的两个链接,这是解决问题所需的:
您需要像这样导入包
from mymodule import some_useful_method
有时,我们得到no module error
,在这种情况下,我们可以像这样导入
from module_name.classname import some_useful_method
推荐阅读
- verilog - 当我执行合成时收到警告第 49 行:9 位表达式的结果被截断以适合 8 位目标?
- c - C libcurl 程序在 Eclipse 上立即终止
- c++ - C++ 赋值运算符在类的易失性和非易失性实例之间进行复制
- jq - 根据对子元素数组的搜索选择元素,为数组中的每个匹配项返回一次元素
- angular - 角度测试床模拟服务
- python - Python tkinter 下拉菜单
- python-3.x - 如何在某个日期范围内获取熊猫数据框中的数据
- php - 如何使用 Laravel 将两个表与数据透视表连接起来?
- format - 如何使 sequalize createTable 支持下划线?
- laravel - 总和左连接多个表laravel6