PythonCard and Py2Exe

P

PipedreamerGrey

I've been banging my head against this problem for a week. It's time
to ask for help, because I'm obviously not going to solve this by trial
and error. I'm trying to create a standalone version (.exe) of
PythonCard's Custdb sample using Py2Exe version 0.5.0. Everytime I
attempt to compile the program, I get an error during compilation. I
need to formulate the correct setup file. Here's the one I began with:


from distutils.core import setup
from PythonCard import dialog, model
import PythonCard
import py2exe

setup( name = "custdb",
console = ["custdb.py"],
data_files = [ (".", ["custdb.ini", "custdb.rsrc.py",
"customerdata.csv"]) ]
)

Every variation of this format failed. Does anyone have any ideas of
how to re-write this Setup file?
 
F

Fredrik Lundh

I've been banging my head against this problem for a week. It's time
to ask for help, because I'm obviously not going to solve this by trial
and error. I'm trying to create a standalone version (.exe) of
PythonCard's Custdb sample using Py2Exe version 0.5.0. Everytime I
attempt to compile the program, I get an error during compilation. I
need to formulate the correct setup file. Here's the one I began with:


from distutils.core import setup
from PythonCard import dialog, model
import PythonCard
import py2exe

setup( name = "custdb",
console = ["custdb.py"],
data_files = [ (".", ["custdb.ini", "custdb.rsrc.py",
"customerdata.csv"]) ]
)

Every variation of this format failed.

failed, as in? did you get an error message? can you post the error message?

</F>
 
P

PipedreamerGrey

For this setup file, the executable packs, but when I attempt to run
the program, the screen flashes, " cannot import name radiogroup ".
I've attempted adding "import radiogroup", "from Pythoncard import
radiogroup" and "from Pythoncard.compnents import radiogroup" to the
setup file, and that doesn't help. It simply terminates with no error.
I've tried removing all references to radiogroup from the script's
resource file, but that defeats the purpose, as the list box is central
to the script's use.

My computer runs the script fine, so the radiogroup module must be
there. I must just have the imports written wrong.
 
T

Thomas Heller

For this setup file, the executable packs, but when I attempt to run
the program, the screen flashes, " cannot import name radiogroup ".
I've attempted adding "import radiogroup", "from Pythoncard import
radiogroup" and "from Pythoncard.compnents import radiogroup" to the
setup file, and that doesn't help. It simply terminates with no error.
I've tried removing all references to radiogroup from the script's
resource file, but that defeats the purpose, as the list box is central
to the script's use.

My computer runs the script fine, so the radiogroup module must be
there. I must just have the imports written wrong.

You should move these 'import ...' statements to your *script* so that
py2exe doesn find them, not to the setup script.

Thomas
 
P

pipedreamergrey

You should move these 'import ...' statements to your *script* so
that
py2exe doesn find them, not to the setup script.

Thomas

Removing import statements only returns this error message before the
package compiles:

= "custdb",
'setup' is not defined


No files are returned.
 
P

Peter Hansen

Removing import statements only returns this error message before the
package compiles:

= "custdb",
'setup' is not defined

No files are returned.

Please use "cut and paste" to copy the *actual* error into your
message, rather than retyping (and removing critical information).

Also, if the setup.py script is not too large (less than about
20 lines) post it as well.

-Peter
 
P

pipedreamergrey

The Error:

(Most recent call last):
C:\Documents and Settings\Gateway User\ Desktop\custdb\setup.py", line
1,

name = "custdb",
'setup' is not defined


There may be a single word infront of 'setup' on the fourth line, it
scramble on my screen because I have to use a screen capture to read
the error (it pops up for just a second before the window shuts down.
Here's the full setup.py script I ran to get the error:

from distutils.core import setup
import py2exe

setup( name = "custdb",
console = ["custdb.py"],
data_files = [ (".", ["custdb.ini", "custdb.de.rsrc.py"
"custdb.rsrc.py", "customerdata.csv"]) ]
)

*note: "data_files" is all one line in my Python IDLE
 
P

Peter Hansen

(Most recent call last):
C:\Documents and Settings\Gateway User\ Desktop\custdb\setup.py",
> line 1, name = "custdb", 'setup' is not defined

There may be a single word infront of 'setup' on the fourth line, it
scramble on my screen because I have to use a screen capture to read
the error (it pops up for just a second before the window shuts down.

That's because you're not running it from a command prompt.
Please open a command prompt (Start Menu, select "Run",
type "cmd.exe" and ENTER, then type the following line
to get to the folder with the script:

cd "c:\documents and settings\gateway user\desktop\custdb"

(If that doesn't work, perhaps there is really a space in
front of "desktop" as you show above...)

Once you're there, you should be able to run the script
directly just by typing its name plus the arguments
required: "setup.py py2exe" (without the quotes). If
you can get that far, you should have the full error
message in a form you can directly cut and paste. If
it adds nothing over what you show above, however, then
I'm at a loss because I can't see how your script could
possibly have generated that error...
Here's the full setup.py script I ran to get the error:

from distutils.core import setup
import py2exe

setup( name = "custdb",
console = ["custdb.py"],
data_files = [ (".", ["custdb.ini", "custdb.de.rsrc.py"
"custdb.rsrc.py", "customerdata.csv"]) ]

This makes no sense to me, given the error message. The error
reports that it fails on "line 1", yet line 1 in the above
is the import statement, and doesn't have name = "custdb" on
it as the error reports.

-Peter
 
P

PipedreamerGrey

I am using the command prompt. What I realized after reading your
entry, Peter, is that if I use "setup.py py2exe" instead of "start
setup.py py2exe" I can see the error in the same window without it
closing.

I went into the script and double spaced everything in case Notebook
smashed the lines together while I was tweaking the code. After that,
the code resumed packing. Now, however, it seems I'm back where I
started. Running the .Exe returned this error:


Traceback (most recent call last):
File "custdb.py", line 202, in ?
app = model.Application(CustDbStack)
File "PythonCard\model.pyc", line 337, in __init__
File "PythonCard\resource.pyc", line 48, in getResource
File "PythonCard\resource.pyc", line 86, in __init__
File "PythonCard\resource.pyc", line 91, in __init__
File "PythonCard\resource.pyc", line 91, in __init__
File "PythonCard\resource.pyc", line 96, in __init__
File "PythonCard\resource.pyc", line 139, in enforceSpec
File "PythonCard\resource.pyc", line 30, in loadComponentModule
ImportError: cannot import module 'radiogroup


Cannot import module 'radiogroup' was the initial problem I was having.
This is just a more detailed error message.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

PythonCard and Py2Exe 2
PythonCard and Py2Exe 0
PythonCard and Py2Exe 0
Py2Exe Import Error 0
About py2exe "bundle_files" setting? 9
py2exe 3
easyGUI and py2exe 0
Py2exe + PythonCard compiled script crashes 0

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,526
Members
44,997
Latest member
mileyka

Latest Threads

Top