469,306 Members | 2,459 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

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

py2exe question

The py2exe says that a console app should have the --console option
and a windows app should have the --windows option.

What is the way to py2exe a python program that uses both console and
windows gui?

TIA

Al
Jul 18 '05 #1
10 3768
ac*****@easystreet.com wrote:
The py2exe says that a console app should have the --console option
and a windows app should have the --windows option.

What is the way to py2exe a python program that uses both console and
windows gui?


Haven't tried, but logically it should be a console -- this doesn't restrict
what OTHER modules you can import, it just uses the equivalent of a .py
script run with python.exe rather than a .pyw run with pythonw.exe, i.e. a
"DOS box" console does appear when the program is run.
Alex

Jul 18 '05 #2
Alex Martelli wrote:

ac*****@easystreet.com wrote:
The py2exe says that a console app should have the --console option
and a windows app should have the --windows option.

What is the way to py2exe a python program that uses both console and
windows gui?
Haven't tried, but logically it should be a console -- this doesn't restrict

what OTHER modules you can import, it just uses the equivalent of a .py
script run with python.exe rather than a .pyw run with pythonw.exe, i.e. a
"DOS box" console does appear when the program is run.


Logically, you don't need these switches. Outside of py2exe a *.py
gets a console and can open gui windows, a *.pyw is a pure gui
program. Why the switches atall? IDK? Thought I'd ask.

I'm having a little trouble getting a py2exe executable to run on
a machine wo python installed. Just wondered if this has anything to
do with it.
Al
Jul 18 '05 #3
ac*****@easystreet.com wrote:
Alex Martelli wrote:

ac*****@easystreet.com wrote:
> The py2exe says that a console app should have the --console option
> and a windows app should have the --windows option.
>
> What is the way to py2exe a python program that uses both console and
> windows gui?
> Haven't tried, but logically it should be a console -- this doesn't
> restrict what OTHER modules you can import, it just uses the equivalent of a .py
script run with python.exe rather than a .pyw run with pythonw.exe, i.e.
a "DOS box" console does appear when the program is run.


Logically, you don't need these switches. Outside of py2exe a *.py


Logically, maybe not, but if you have chosen to run Windows instead,
how do you avoid them? An EXE needs to let the OS know, via switches,
if it wants a console or not -- that's all there is to it.
gets a console and can open gui windows, a *.pyw is a pure gui
Not really: you can run either a .py or .pyw mainscript (and other
extensions yet) with either pyhon.exe or pythonw.exe. Which EXE
you choose to run as your interpreter is the one that either gets
a console or doesn't -- because Windows associates a console (or
lack thereof) with an EXE. By default most Python installers set
registry associations of the two extensions .py and .pyw with the
two interpreter executables in question -- that may be what's
confusing you. But that's just a default that determines what
the Windows GUI shell is going to do when you doubleclic a file
with such an extension, etc -- you can still perfectly well run
e.g. a .pyw mainscript with python.exe from a console (e.g. so you
can see error messages, warnings etc in the console window).
program. Why the switches atall? IDK? Thought I'd ask.
The switches let you control what goes on explicitly, just as
you can control it explicitly by choosing one or the other of
the two interpreters (python.exe or pythonw.exe) at a command
prompt. I don't know what you mean by the 'idk' question.
I'm having a little trouble getting a py2exe executable to run on
a machine wo python installed. Just wondered if this has anything to
do with it.


I don't see the connection.
Alex

Jul 18 '05 #4
The error I'm getting is in module imputil.pyo, line 601, in
import_file, module does not define init function initpywintypes23.

Please, can anyone tell what this means and how to fix?

TIA
Al
Jul 18 '05 #5
ac*****@easystreet.com wrote:
The error I'm getting is in module imputil.pyo, line 601, in
import_file, module does not define init function initpywintypes23.

Please, can anyone tell what this means and how to fix?


A C-coded Python extension module named XXX _must_ define (and
export) a function named initXXX so that Python knows how to
initialize it. This error message means that a module named
pywintypes23.PYD (or .DLL) does exist, but fails to define and
export the needed function. You might double-check about the
module's existence - I can imagine anomalous cases where this
message (somewhat misleadingly) might end up being given for
modules that just don't exist, though I don't think py2exe could
cause such anomalies (but it's a while since I studied it).

If you _do_ find the pywintypes23.PYD you can check what it
does define-and-export -- but you need some tools for that
(I'm pretty sure there are downloadable ones though). But
fixing it sounds harder...
Alex

Jul 18 '05 #6
ac*****@easystreet.com writes:
The error I'm getting is in module imputil.pyo, line 601, in
import_file, module does not define init function initpywintypes23.

Please, can anyone tell what this means and how to fix?


I think it has to do with the way win32all finds and loads the
PyWinTypes extension. Back in the past it was found via registry
entries, nowadays Mark Hammond changed it to be done without the
registry.

py2exe up to version 0.4.2 has not be adapted to this change, but the
0.5.0 alpha version (available in the files section of
http://sf.net/projects/py2exe) is able to handle this.

It requires Python 2.3 (because it uses the new zipimport feature), and
a fairly new win32all.

Thomas
Jul 18 '05 #7
Thomas Heller wrote:

py2exe up to version 0.4.2 has not be adapted to this change, but the
0.5.0 alpha version (available in the files section of
http://sf.net/projects/py2exe) is able to handle this.


Looks like 0.5.0a is not picking up any of my command line arguments
or producing any executable when I run it through the same batch
file that worked for 0.4.2.

Any docs on how to make if work?
Al
Jul 18 '05 #8
ac*****@easystreet.com wrote in news:3F***************@easystreet.com:
Thomas Heller wrote:

py2exe up to version 0.4.2 has not be adapted to this change, but the
0.5.0 alpha version (available in the files section of
http://sf.net/projects/py2exe) is able to handle this.

Looks like 0.5.0a is not picking up any of my command line arguments
or producing any executable when I run it through the same batch
file that worked for 0.4.2.

Any docs on how to make if work?


there is an example in the lib/site-packages/py2exe/samples dir
the syntax of the setup call is different

chris
--
Chris <cl******@gmx.net>

Jul 18 '05 #9
Chris Liechti wrote:

ac*****@easystreet.com wrote in news:3F***************@easystreet.com:
Looks like 0.5.0a is not picking up any of my command line arguments
or producing any executable when I run it through the same batch
file that worked for 0.4.2.

Any docs on how to make if work?


there is an example in the lib/site-packages/py2exe/samples dir
the syntax of the setup call is different


I try to run the sample to see what comes out, and I get:

tlb = pythoncom.LoadRegTypeLib(typelibCLSID, major, minor, lcid)
pywintypes.com_error: (-2147319779, 'Library not registered.', None,
None)

I just installed win32all v161 last night.
Al
Jul 18 '05 #10
ac*****@easystreet.com wrote in news:3F***************@easystreet.com:
Chris Liechti wrote:

ac*****@easystreet.com wrote in news:3F***************@easystreet.com:
> Looks like 0.5.0a is not picking up any of my command line arguments
> or producing any executable when I run it through the same batch
> file that worked for 0.4.2.
>
> Any docs on how to make if work?


there is an example in the lib/site-packages/py2exe/samples dir
the syntax of the setup call is different


I try to run the sample to see what comes out, and I get:

tlb = pythoncom.LoadRegTypeLib(typelibCLSID, major, minor, lcid)
pywintypes.com_error: (-2147319779, 'Library not registered.', None,
None)


just comment out the line with the "typelib" in it and do not build the COM
example. the com example seems torequire that makepy is run in advance, so
that the typlib is there.

the other examples worked fine for me.

chris

--
Chris <cl******@gmx.net>

Jul 18 '05 #11

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by RJS | last post: by
20 posts views Thread by Thomas Heller | last post: by
2 posts views Thread by Thomas Heller | last post: by
5 posts views Thread by Thomas Heller | last post: by
17 posts views Thread by Thomas Heller | last post: by
1 post views Thread by mitsura | last post: by
4 posts views Thread by D | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by harlem98 | last post: by
1 post views Thread by Geralt96 | last post: by
reply views Thread by harlem98 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.