代码之家  ›  专栏  ›  技术社区  ›  Richard Knop

运行编译的Python脚本时出现问题[重复]

  •  4
  • Richard Knop  · 技术社区  · 14 年前

    所以我用py2exe编译了一个python脚本 this answer . 编译过程中没有错误,一切正常。

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

    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 回复  |  直到 7 年前
        1
  •  8
  •   Winston Ewert    14 年前

    __file__ 不会在py2exe中工作。这是因为模块在.exe中,因此没有要设置的内容 __文件__ 它将提供python文件。

    http://www.py2exe.org/index.cgi/WhereAmI 处理这个问题的技巧。