【发布时间】:2012-03-20 07:04:12
【问题描述】:
我有一个相当奇怪的问题。
当我从 IDLE 或在 Eclipse 的调试模式下运行 python 模块(导入其他 .py 和 .pyd 文件)时,一切正常并且最终结果是正确的。但是,当我尝试从 Eclipse 或 CMD 以运行模式运行相同的模块时,会出现错误窗口并显示“python.exe 已停止工作”消息。
我设法将错误追踪到结论,当调用 .pyd 文件中的函数时,python 停止工作(导入工作正常)。从那以后,我不知道是什么导致了这些问题。 .pyd 输入参数在所有情况下都是相同的。然而,当从 cmd 运行 python 模块时,python 会崩溃。
我正在运行 64 位 Windows7、64 位 Python 2.6.6,并且所有 python 二进制文件 .pyc 都是在同一台计算机上获得的。电脑上没有安装其他python版本。
我将不胜感激任何建议,如何能够从 cmd 运行代码而不会导致 python.exe 崩溃。
【问题讨论】:
-
pyd 是一个 c_extension 模块。你确定你两次都使用同一个解释器吗?一个快速的判断方法是:import sys print sys.executable
-
导致崩溃的函数有什么作用?此外,验证您正在运行的 Python 解释器可执行文件。从 Eclipse 转到
Window > Preferences > PyDev > Interpreter - Python并检查解释器的位置。确保与您在命令提示符下运行的相同。我知道你说你只安装了一个,但也许其他一些程序安装了一个你不知道的不同 Python,并将它放在路径中。 -
感谢您的回复。解释的 IDLE 使用的是 pythonw.exe,CMD 中的解释器是 python.exe。两个可执行文件都在同一个默认文件夹中。如何更改 CMD 使用的 python 解释器?
-
在windows中有两种方法可以做到这一点——首先简单地将脚本传递给pythonw解释器——C:\python27\pythonw program.py 或你可以改变将您的程序从 *.py 扩展为 *.pyw
-
不幸的是,这并没有解决调用 .pyd 模块时的问题。谢谢你的帮助。
标签: python eclipse windows-7 cmd python-idle