如何从pip软件包内导入本地模块?

发布于 2025-02-06 11:06:49 字数 713 浏览 0 评论 0原文

我创建了一个PIP软件包;从此软件包中,我正在尝试从本地文件系统导入一个模块。

例子: 在我的pip软件包x中,我有一个函数load_module

def load_module(module_name: str):
    imported = __import__(package_name)

在当前文件夹中,我有一个称为y的软件包。如果我调用x.load_module('y'),我会得到:

ModuleNotFoundError: No module named 'Y'

有什么办法可以解决问题?例如,我的软件包需要加载本地模块。

我还会注意到一些奇怪的东西,例如,如果我放置一个断点,则使用ipdb

import ipdb

def load_module(module_name: str):
    ipdb.set_trace()
    imported = __import__(package_name)

如果我在断点中断之后继续执行(c in > ipdb << /code>),导入成功。

I created a pip package; from within this package, I'm trying to import a module from my local filesystem.

Example:
In my pip package X I have a function load_module:

def load_module(module_name: str):
    imported = __import__(package_name)

In the current folder, I have a package called Y. If I call X.load_module('Y'), I get:

ModuleNotFoundError: No module named 'Y'

Is there any way I can solve the issue? For example, my package needs to load a local module.

I also notice something strange, if I place a breakpoint, for example, with ipdb:

import ipdb

def load_module(module_name: str):
    ipdb.set_trace()
    imported = __import__(package_name)

If I continue the execution after the breakpoint interruption (with c in ipdb), the import proceeds successfully.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷︶言冷语的世界 2025-02-13 11:06:49

DeepSpace 解决问题!
谢谢。

Adding the current directory to sys.path, as suggested by DeepSpace solved the issue!
Thank you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文