2010-11-15 56 views
4

因此,我已經編譯了一個py2exe的python腳本,根據this answer。編譯期間沒有錯誤,一切都很順利。運行編譯的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") 

該行只從當前目錄加載圖像。哪裏有問題?

回答

8

__file__在py2exe中不起作用。這是因爲模塊在.exe裏面,因此沒有什麼可以設置__file__的,它會給你python文件。

查看http://www.py2exe.org/index.cgi/WhereAmI處理這個問題的技術。