我已经搜索了stackoverflow上的现有问题,但没有找到我正在寻找的东西。首先,我是Python的新手,我来自Ruby,所以在Python中有些东西对我来说似乎不太清楚。我通过这样做了解到,我正在为一个支付网关编写自己的python REST API客户端,我计划将其发布到PyPi。我遇到的问题是从不同的文件夹导入模块。假设我有这样的文件夹结构:
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中定义的函数,以便
# 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节中的说法。打包相对导入,但它不起作用
理论上,这应该是可行的。
from ..subpackage2.moduleZ import eggs但它不是,我得到了SystemError: Parent module '' not loaded, cannot perform relative import。
发布于 2020-10-04 18:56:21
只有当您尝试导入的模块与执行导入的脚本位于同一目录中时,导入才会起作用。
否则,您必须指定路径。
如下所示:
import my_project/src/lib/directory1/module1.pyhttps://stackoverflow.com/questions/64193576
复制相似问题