【问题标题】:IntelliJ python plugin, debugging is not recognizing import __main__IntelliJ python 插件,调试不识别 import __main__
【发布时间】:2016-02-10 08:08:53
【问题描述】:

我是 StackOverflow 的新手,但我读了很多。这么棒的网站:D。

我尝试自己寻找解决方案,但没有成功。我正在尝试将 IntelliJ Idea Community edition 15.1 与最新的 python 插件 5.0.2.143.121 一起使用。只要我像正常运行一样运行脚本,一切都会正常运行。但是当我尝试调试时,我得到 ImportError:

    Traceback (most recent call last):
  File "C:\Users\XXXXX\.IdeaIC15\config\plugins\python\helpers\pydev\pydevd.py", line 2403, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "C:\Users\XXXXX\.IdeaIC15\config\plugins\python\helpers\pydev\pydevd.py", line 1794, in run
    launch(file, globals, locals)  # execute the script
  File "location to test script", line 2, in <module>
    from BASECLASS
  File "C:\location\__init__.py", line 7, in <module>
    context_mock.mock()
  File "C:\location\context_mock.py", line 26, in mock
    import __main__
ImportError: No module named __main__

BASECLASS 是同一个包中的一个类,但我混淆了它,对不起公司规则。

一般来说,它使用的是 Jython 2.7.0,它的工作方式如下: - 运行测试脚本时,在项目 init.py 中被设为“hack”:

try:
    from __main__ import c
except ImportError:
    import context_mock

    context_mock.mock()

其中 c 是一个 java 上下文。 Mock 方法在 context_mock.py 文件中:

def mock():
    print 'Setting up local context...'
    import sys
    sys.path.append('')
    for p in gen_grep('.+', gen_find("*.jar", "C:\\location\\lib")):
        sys.path.append(p)

    print sys.path

    from xxxx import ConsoleResultsReporter, TestContext  # FileResultsReporter
    import __main__
    __main__.c = TestContext(ConsoleResultsReporter())
    __main__.c.put('__contextIsMocked__', True)
    print "Done"

当我运行调试器时,它会在 mock() 方法中导入 ma​​in 时停止。但是当我运行正常的 jython 时,它不会。此外,当我在 Eclipse 中使用 pydev 插件进行调试时,它工作正常,因此我怀疑存在一些配置问题。 (也许我错了,但这是两个 IDE 中使用的同一个调试器吗?)

任何帮助将不胜感激。

【问题讨论】:

    标签: python debugging intellij-idea jython pydev


    【解决方案1】:

    好的,我已经设法找到解决方案。事实证明,只有在 Python 调试器中检查自动链接才有帮助。现在就像一个魅力。

    【讨论】:

    • 我也有同样的问题,但是Python Debugger下没有选项
    猜你喜欢
    • 2019-04-27
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2022-07-15
    • 2021-07-03
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多