469,579 Members | 1,063 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,579 developers. It's quick & easy.

PythonCard and Py2Exe

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?

Jul 18 '05 #1
8 2858
Pi*************@yahoo.com wrote:
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>

Jul 18 '05 #2
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.

Jul 18 '05 #3
Pi*************@yahoo.com writes:
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
Jul 18 '05 #4
> 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.

Jul 18 '05 #5
pi*************@gmail.com wrote:
You should move these 'import ...' statements to your *script* so that
py2exe doesn find them, not to the setup script.


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
Jul 18 '05 #6
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

Jul 18 '05 #7
pi*************@gmail.com wrote:
(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
Jul 18 '05 #8
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.

Jul 18 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Ron Stephens | last post: by
2 posts views Thread by Adrian Smith | last post: by
1 post views Thread by Oriana | last post: by
2 posts views Thread by PipedreamerGrey | last post: by
1 post views Thread by Varun Hiremath | last post: by
1 post views Thread by jlocc | last post: by
4 posts views Thread by Tequila | last post: by
8 posts views Thread by king kikapu | last post: by
8 posts views Thread by Kevin Walzer | last post: by
reply views Thread by suresh191 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.