如何从pip软件包内导入本地模块?
我创建了一个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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如 DeepSpace 解决问题!
谢谢。
Adding the current directory to
sys.path
, as suggested by DeepSpace solved the issue!Thank you.