运行编译的Python脚本时出现问

时间:2010-11-15 20:52:53

标签: python

所以我根据this answer使用py2exe编译了一个python脚本。编译过程中没有错误,一切都很顺利。

当我从这样的cmd运行脚本时:

C:\Users\Richard\Dist\backprop3.exe 60

这是我得到的输出:

C:\Users\Richard>C:\Users\Richard\Dist\backprop3.exe 60
Traceback (most recent call last):
  File "backprop3.py", line 209, in <module>
  File "backprop3.py", line 175, in demo
NameError: global name '__file__' is not defined

C:\Users\Richard>

这是指这一行:

image = Image.open( os.path.dirname( os.path.abspath( __file__ ) )+"/backprop-input.bmp" )

该行只是从当前目录加载图像。问题在哪里?

1 个答案:

答案 0 :(得分:8)

__file__在py2exe中不起作用。这是因为模块位于.exe中,因此没有任何内容可以设置__file__来为你提供python文件。

有关处理此问题的技巧,请参阅http://www.py2exe.org/index.cgi/WhereAmI