4

So I have compiled a python script with py2exe according to this answer. There were no errors during compilation, everything went fine.

When I run the script from a cmd like this:

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

This is the output I get:

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>

Which is referring to this line:

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

That line just loads an image from a current directory. Where is the problem?

0

1 Answer 1

8

__file__ will not work within py2exe. This is because the module is inside the .exe and thus there is nothing to set __file__ to which will give you the python file.

See http://www.py2exe.org/index.cgi/WhereAmI for techniques of dealing with this.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.