【问题标题】:Pydev SytaxError when attempting to debug a .pyd file尝试调试 .pyd 文件时出现 Pydev SytaxError
【发布时间】:2017-03-18 04:04:08
【问题描述】:

我正在尝试调试依赖于已编译包的 python 脚本。它有一个 __init__.pyd 文件,当加载到调试器中时,我得到:

Traceback (most recent call last):
    File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3.2\helpers\pydev\pydevd.py", line 1596, in <module>
globals = debugger.run(setup['file'], None, None, is_module)
    File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3.2\helpers\pydev\pydevd.py", line 974, in run
pydev_imports.execfile(file, globals, locals) # execute the script
    File "C:\Program Files\Python27-13\lib\site-packages\package_name\module\__init__.pyd", line 1
SyntaxError: Non-ASCII character '\x90' in file C:\Program Files\Python27-13\lib\site-packages\package_name\module\__init__.pyd on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

该文件是二进制 .pyd 文件,因此该错误是有意义的。如何告诉 PyCharm 和 Pydev 不要尝试单步执行文件?我正在使用 python 2.7 和 PyCharm 2016.3.2。有什么建议吗?

谢谢,

内森

【问题讨论】:

    标签: python python-2.7 pycharm pydev


    【解决方案1】:

    您的 init 文件不应是 .pyd 文件。
    What is __init__.py for?

    那是用来初始化模块的,不是windows .dll
    https://docs.python.org/3/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

    【讨论】:

    • 那部分不在我的手中,它是我公司内部的一个包。有问题的模块也有一个 _init_.py
    • 它可能需要将这一行添加到它的开头 # -- coding: utf-8 --
    猜你喜欢
    • 2011-05-12
    • 2013-09-07
    • 2010-09-21
    • 2014-03-11
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多