问题标签 [relative-import]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 3.8.6 中的 ImportError
我正在使用 python 3.8.6 使用模块 Flask 构建一个简单的 Web 应用程序,文件夹结构看起来完全像这样:
其中__init__.py
有一个函数被调用create_app()
,这个函数必须由 my 访问main.py
。
在我的main.py
我导入create_app()
这样的:
但是当我尝试运行 my 时main.py
,会引发以下错误:
我已经尝试在文件夹名称之前不带点导入,例如from site import create_app
,但这也不起作用,错误消息只是更改为ImportError: cannot import name 'create_app' from 'site' (C:\Python38\lib\site.py)
.
python-3.x - python 3中的相对导入错误没有已知的父包
我正在尝试在 feature1 和 feature2 目录下的 main 中导入 common/util 模块。我使用了 from ..common import util 但得到 ImportError:尝试相对导入但不知道父包。有没有办法在 main.js 中导入 common/util。
目录结构
python - python 3 和相关导入的问题
我有这样的布局:
example_project.py
使用some_library_code.py
我运行的代码example_project.py
:
***\src>: python examples\example_project.py
并ImportError: attempted relative import with no known parent package
阅读了一些关于 SO 的答案,发现我需要一些结构
sys.path.append(os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir)))
存在example_project.py
我的example_project.py
导入部分如下所示:
但这不起作用并且显示相同ImportError
UPD:
如果我更改from ..library *****
为from library *****
then 它可以工作,但 IDE 无法识别导入的类型并在import
子句周围显示错误
python - Pycharm python调试器无法运行包含相对导入的文件
我试图将包含要调试的文件的文件夹标记为Source root ,但没有成功。
我正在使用 Pycharm 2021.1(专业版)
python - 顶级包之外的相对导入
经过多次搜索和尝试,我还没有找到解决这个问题的方法......
我正在使用 Sphinx 为 Python 包生成文档。您可以在此处查看代码:https ://github.com/jajimer/energym/tree/documentation 。我们感兴趣的包部分组织如下:
在energym/docs/source/conf.py
我配置的路径如下:
现在我正在尝试将这个模块及其所有组件energym/doc/source/pages/API-reference.rst
的描述添加到 API 文档 () 中。utils
为此,我正在使用 Sphinx 的autosummary
:
所以,在做完之后,和make clean && make html
的文档是完美创建的,但不是. 根据 Sphinx 的说法,会发生以下异常:utils.common
utils.rewards
utils.rewards
utils.controllers
这是我的问题。我该如何解决?是相对路径问题吗?我已经看到问题是由于以下导入引起的:
但我真的不知道原因,因为路径似乎很完美。
python - 当前脚本需要运行主文件时从父目录的Python相对导入
我正在处理我们具有以下目录结构的代码
所有文件夹都是包。
我有两个要求:
- 我需要能够在 A_task 中导入 M_task 模块。
我能够使用
from H.M_task import method
- 在 M_task 中导入 C_task
在第二种情况下,我面临几个问题。
当我在本地机器上运行代码时可以使用绝对导入,但在部署代码时将无法使用绝对导入。所以这是毫无疑问的。
仅当我仅将from ..C_task import method
M_task 用作模块时才使用。但在某些情况下,我需要使用 main 函数将 M_task 作为脚本运行。在这种情况下,M_task 没有父文件夹,因此相对导入不起作用。
最后的手段是将父文件夹附加到sys.path
. 但我想尽可能避免这种解决方案。有没有一种更清洁的方法可以实现我想要在这里实现的目标?
python - 如何修复错误:ImportError:尝试使用没有已知父包的相对导入
我有:db = SQLAlchemy()
在 init .py 中,我想将 db 导入到 models.py
当我尝试这样做时:from . import db
我收到错误:ImportError:尝试使用没有已知父包的相对导入
我尝试了几件事,例如:
当我运行from __init__ import db
它时,在我运行 main.py 之前它没有显示错误,然后它显示错误:ModuleNotFoundError: No module named ' init '
我的程序结构如下:
请帮忙!
python - Python 导入模块,在目录和目录级别上都有空格
我正在更详细地“重新发布”这个问题,因为我觉得它第一次被误解了。我有一个看起来像这样的文件夹结构:
我需要 file_1.py
从file_2.py
. 请注意file_2.py
,相对于file_1.py
,是向上 3 个目录,然后向下是 3 个目录。理论上,我会这样写相对导入:
但是,由于子文件夹中的间距,这是无效的。绝对导入更糟糕,因为基本文件夹也包含空格:
有了这个,我怎样才能访问file_2.py
没有的内容:
- 重命名文件夹(我不拥有它们,所以即使我想也不能)
- 不使用
sys.path.append()
(在我们的生产环境中效果不佳) - 搬家
file_2.py
(因为组织必须留在原地)
任何帮助将不胜感激!
python - 从远离 main() 的文件中导入 Python 模块
我有一个 Python 文件的文件夹结构,如下所示:
我需要将(具有主文件的文件)作为包file_1.py
导入。file_2.py
请注意file_2.py
,相对于file_1.py
,是向上 3 个目录,然后向下是 3 个目录。理论上,我会这样写相对导入:
但是,由于子文件夹中的间距,这是无效的。绝对导入更糟糕,因为基本文件夹也包含空格:
有了这个,我如何file_2.py
在没有以下情况下作为模块导入:
- 重命名文件夹(我不拥有它们,所以即使我想也不能)
- 不使用
sys.path.append()
(在我们的生产环境中不起作用) - 搬家
file_2.py
(因为组织必须留在原地) - 希望不要安装任何其他库(不是绝对必要的,但我将新库添加到我们的生产环境中将是一个完整的过程)
任何帮助将不胜感激!
python - 从父目录导入 Python 相对
在过去的几天里,我阅读了许多关于相对 Python 导入的文档,但遇到了以下文件夹结构的问题:
在file_2.py
我想访问file_1.py
. 我尝试添加以下内容,file_2.py
但似乎没有一个工作:
我现在真的很迷茫,似乎无法理解为什么会这样。我现在可能已经阅读了 10 种关于相对进口的不同指南,但仍然无法弄清楚原因。
注意,如果我把它放在file_2.py
里面parent_folder
,然后添加import subfolder1.file1
它导入好,但我不能file_2.py
从它的位置移动或使用sys.path.append()
有没有人比我有更多的模块经验?谢谢!