Python导入特定于错误的cas

2024-05-18 11:40:45 发布

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

我知道有很多关于这个的问题,但是我的问题非常具体,我不知道为什么导入不起作用。 我有以下文件夹结构:

importmodule
-classes
-pluginhelper
-- __init__.py

-plugins
-- plugin_a
-- plugin b
-- ..

-__init__.py
-<other py files>

在我的插件文件中,我导入的插件帮助程序如下:

from importmodule.pluginhelper import function1, function2, ...

函数是在uuuu\init.py中定义的

在我的windows机器上执行插件文件非常有效。在服务器上执行此操作时,会出现以下异常:

 ImportError: No module named 'importmodule'

奇怪的是,我确实从每个插件中得到了错误,但只有一个。在其中一个插件中,import可以工作,而import语句中没有区别。你知道吗

我在这两台机器上都使用python3.5,而在服务器上,我的应用程序在docker容器中。你知道吗

编辑: 设置系统路径也不起作用:

  print("Indexed Path for Package.")
  sys.path.index(os.getcwd())

我发现了可能的问题: dockercontainer中的文件夹结构似乎有所不同。我会修复它并告诉你它是否有用。但我仍然不明白为什么它与使用相同语句的一个插件一起工作。你知道吗


Tags: 文件pyimport服务器文件夹插件机器init
1条回答
网友
1楼 · 发布于 2024-05-18 11:40:45

我想和大家分享我的解决方案,因为任何读到这个问题的人似乎都有类似的问题。你知道吗

出现此问题的原因是pythonpath/syspath中未包含该包。我用一个名为执行.py. 这是通过命令从主.py因为我不能多重处理我的类。由于插件位于../plugins中,python只包含这个路径。不是/importmodule路径。不知何故,它似乎已经包括在windows上,我真的不知道那里发生了什么tbh。你知道吗

我做的是,我把sys.path.append的东西放在我的执行.py它执行如下插件:from pluginhelper import scrapeHostnames, hostnamesToIps, getSource。我的IDE现在将import语句标记为红色,但它正在工作,因为我正在附加包。你知道吗

相关问题 更多 >