如何检查具有未知导入的Python模块的语法错误

时间:2013-11-28 10:55:28

标签: python interpreter python-import

我想调用Python解释器来检查模块的可能语法错误 我不能这样做,因为解释器生成

的早期错误消息
ImportError: No module named Part

在我的模块中,我导入了代码中需要的模块。

import Part

def draw_circle(radius):
    myshape = Part.makeSphere(1)
    Part.show(myshape)
    return

在我的情况下导入的Part模块属于FreeCAD,但我的问题是一般性的。假设我们不知道模块Part的模块库目录路径。

在FreeCAD中我导入语法正确的模块时,一切运行都没有问题。

import sys
sys.path.append('/home/mypathtomymodule')
import mymodule

mymodule.draw_circle(1)

只要我编写正确的语法代码就没有问题。不幸的是,我并不总是那样做。在这些情况下,我的问题是我无法使用Python解释器在我的模块中搜索语法错误。此外FreeCAD在这里不是很有用,当我尝试在FreeCAD中运行程序时,它会给出一个无法提供的错误消息,如

NameError: name 'badcode' is not defined

1 个答案:

答案 0 :(得分:1)

您可以使用python -m py_compile mymodule.py。这会生成一个字节代码文件,但可用于检查进程中的语法错误。