首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从其他文件夹导入Python中的包和模块

从其他文件夹导入Python中的包和模块
EN

Stack Overflow用户
提问于 2020-10-04 18:36:08
回答 1查看 60关注 0票数 0

我已经搜索了stackoverflow上的现有问题,但没有找到我正在寻找的东西。首先,我是Python的新手,我来自Ruby,所以在Python中有些东西对我来说似乎不太清楚。我通过这样做了解到,我正在为一个支付网关编写自己的python REST API客户端,我计划将其发布到PyPi。我遇到的问题是从不同的文件夹导入模块。假设我有这样的文件夹结构:

代码语言:javascript
复制
my_project/src/lib/directory1/module1.py
my_project/src/lib/directory2/module2.py

my_project/src/lib/directory1/module1.py中,我想导入在my_project/src/lib/directory2/module2.py中定义的函数,以便

代码语言:javascript
复制
# my_project/src/lib/directory2/module2.py
from lib.directory2 import module1

这不管用,它说的是ImportError: No module named directory2。我在Python中读到,你需要将模块添加到路径中,但我已经转到PyPi,并从顶部的第一个库(SeleniumBase)来查看GitHub项目中的代码是如何组织的,我没有看到他们做任何类似的事情。你能给我解释一下这是如何工作的吗,以及我如何组织我的代码库,以便能够从不同的文件夹中导入一个模块来构建我自己的库?

我读了这篇文章https://docs.python.org/3/reference/import.html,并尝试了5.7节中的说法。打包相对导入,但它不起作用

理论上,这应该是可行的。

代码语言:javascript
复制
from ..subpackage2.moduleZ import eggs

但它不是,我得到了SystemError: Parent module '' not loaded, cannot perform relative import

EN

回答 1

Stack Overflow用户

发布于 2020-10-04 18:56:21

只有当您尝试导入的模块与执行导入的脚本位于同一目录中时,导入才会起作用。

否则,您必须指定路径。

如下所示:

代码语言:javascript
复制
import my_project/src/lib/directory1/module1.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64193576

复制
相关文章

相似问题

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