从另一个文件夹导入Python中的包和模块

2024-09-21 08:36:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经搜索了有关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


Tags: 模块pyimportsrcproject文件夹pypi内容
1条回答
网友
1楼 · 发布于 2024-09-21 08:36:28

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

否则,必须指定路径

像这样:

import my_project/src/lib/directory1/module1.py

相关问题 更多 >

    热门问题