首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -在作为脚本运行时从同级目录导入

Python -在作为脚本运行时从同级目录导入
EN

Stack Overflow用户
提问于 2020-08-21 14:44:20
回答 1查看 39关注 0票数 0

我有以下文件夹结构:

代码语言:javascript
运行
复制
PROJECT_DIR
  | --helpers
  |    |--utils.py
  | --stuff
  |    |--script.py    

我需要将script.py作为脚本运行,从它,我需要使用一个来自helpers/utils.py的函数。

我尝试过导入from ..helpers.utils import func,但是它写的是ImportError: attempted relative import with no known parent package,所以我在每个文件夹中添加了一个空的init.py文件,包括PROJECT_DIR。然后我读到,在作为脚本运行时,python编译器像运行主模块一样运行脚本,因此它看不到外部的任何其他模块,因此不能使用相对导入。

但是,如果我需要使用这个功能,我该怎么办呢?这是一个相当简单的用例,我无法理解为什么从当前目录之外的文件导入函数如此困难。我对为什么不感兴趣,我只想知道一个解决方案,人们是如何做到这一点的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-21 15:19:59

代码语言:javascript
运行
复制
root_project
└── proj
    ├── __init__.py
    ├── helpers
    │   ├── __init__.py
    │   └── utils.py
    └── stuff
        ├── __init__.py
        └── script.py

使用此结构,只需从cdroot_project并使用以下命令:

代码语言:javascript
运行
复制
python -m proj.stuff.script
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63525020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档