2010-11-15 3 views
4

Итак, я скомпилировал скрипт python с py2exe в соответствии с this answer. Во время компиляции ошибок не было, все прошло хорошо.Проблема с запущенным скомпилированным скриптом Python

Когда я запускаю скрипт из ЦМД, как это:

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") 

Эта строка просто загружает изображение из текущего каталога. В чем проблема?

ответ

8

__file__ не будет работать внутри py2exe. Это связано с тем, что модуль находится внутри .exe, и поэтому нет ничего, чтобы установить __file__, которому будет предоставлен файл python.

См. http://www.py2exe.org/index.cgi/WhereAmI для получения технических приемов.

Смежные вопросы