On Wed, 17 Aug 2022 12:09:14 -0600, David at Booomer <david@boomer.org> declaimed the following:
executables=[You are defining a list "executables" with only ONE member... (and is that really how you spelled "separate").
Executable(
"prjui.py","Maiui.py","about.py","dict.py","geometry.py","getEquation.py",
"gtrail.py","main.py","matchingstring.py","producelatex.py","readfile.py",
"separete.py","speak.py",
)
]
)
init__() which returned no lines due to the closing ).Searching for ‘__init__(' in the 13 *.py files returned five lines in two files (algorithm.py and prjui.py). As mentioned searching for this error only produced mention of adding self which is in these lines already. Previously I had search for __
You are still searching the wrong place... The __init__() that is complaining is the one in cx_Freeze.Executable().
I had visited the page you provided (https://cx-freeze.readthedocs.io/en/latest/setup_script.html#cx-freeze-executable) but didn’t noticed the 11 plus self as 12 arguments.
Really? Please count (reformatted from cut&paste):
"""
argument name description
#1
script the name of the file containing the script
which is to be frozen
...
#11
trademarks the trademarks value to include in the version
resource associated with the executable (Windows only).
"""
You are passing 13 .py file names. There are only two arguments that really want file names: script, and init_script. Most of the other
arguments are either optional or Windows specific (#6-11).
I suspect you need to pass JUST main.py or Maiui.py (based on casing) -- which ever is really the file you'd invoke to start the program running. I'd hope the freeze system then scans (recursively) that file to find anything imported, and include those in the final product.
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/
From: "Peter J. Holzer" <hjp-python@hjp.at>
Subject: Re: Problem using cx_Freeze
Date: August 17, 2022 at 3:17:27 PM MDT
To: python-list@python.org
On 2022-08-17 12:09:14 -0600, David at Booomer wrote:
Executable([...]
"prjui.py","Maiui.py","about.py","dict.py","geometry.py","getEquation.py",
"gtrail.py","main.py","matchingstring.py","producelatex.py","readfile.py",
"separete.py","speak.py",
)
I am/was worried about the trailing ‘,' after ',"speak.py”,’ <- but
deleting it or moving it after the ] didn’t help.
This has nothing to do with your problem but:
Python allows a trailing comma in any comma-separated list of values. It
will just be ignored.
This is really common in modern programming languages (read: programming languages younger than 30 years or so), because it makes it much more convenient to extend/shorten/reorder a list. Otherwise you alway have to remember add or remove a comma in the right place. (Some people
(especially SQL programmers for some reason) resorted to put the comma
at the start of each line to get around this, which is really ugly.)
hp
This is really common in modern programming languages (read: programming languages younger than 30 years or so), because it makes it much more convenient to extend/shorten/reorder a list. Otherwise you alway have to remember add or remove a comma in the right place. (Some people
(especially SQL programmers for some reason) resorted to put the comma
at the start of each line to get around this, which is really ugly.)
hp
The trailing , does make commenting out arguments easier but unexpected coming from ‘older’ languages. ;-)
On Fri, 19 Aug 2022 at 04:19, David at Booomer <david@boomer.org> wrote:
The trailing , does make commenting out arguments easier but
unexpected coming from ‘older’ languages. ;-)
It's one of the frustrations with JSON, since that format doesn't
allow the trailing comma :)
On 2022-08-18, Chris Angelico <rosuav@gmail.com> wrote:
On Fri, 19 Aug 2022 at 04:19, David at Booomer <david@boomer.org> wrote:
The trailing , does make commenting out arguments easier but
unexpected coming from ‘older’ languages. ;-)
It's one of the frustrations with JSON, since that format doesn't
allow the trailing comma :)
Yep, that's a constant, low-level pain for all the C code I deal with
which generates JSON. You'd think after 10+ years of maintaining code
that outputs JSON, I wouldn't trip over that any longer...
On Fri, 19 Aug 2022 at 05:05, Grant Edwards <grant.b.edwards@gmail.com> wrote:
On 2022-08-18, Chris Angelico <rosuav@gmail.com> wrote:
It's one of the frustrations with JSON, since that format doesn't
allow the trailing comma :)
Yep, that's a constant, low-level pain for all the C code I deal with
which generates JSON. You'd think after 10+ years of maintaining code
that outputs JSON, I wouldn't trip over that any longer...
With some JSON files, I just cheat and define a shim at the end of arrays...
https://raw.githubusercontent.com/Rosuav/MustardMine/master/template.json
On 2022-08-18, Chris Angelico <rosuav@gmail.com> wrote:
On Fri, 19 Aug 2022 at 05:05, Grant Edwards <grant.b.edwards@gmail.com> wrote:
On 2022-08-18, Chris Angelico <rosuav@gmail.com> wrote:
It's one of the frustrations with JSON, since that format doesn't
allow the trailing comma :)
Yep, that's a constant, low-level pain for all the C code I deal with
which generates JSON. You'd think after 10+ years of maintaining code
that outputs JSON, I wouldn't trip over that any longer...
With some JSON files, I just cheat and define a shim at the end of arrays...
https://raw.githubusercontent.com/Rosuav/MustardMine/master/template.json
That's OK if it's strictly internal. Almost all of the JSON data I
work with is part of published APIs — many of which are defined by
industry consortiums or corporate-wide "standards".
I did count but hadn’t noticed this argument list before you mentioned it. However, I still don’t see any of these argument names in the Executable list or anywhere else.
"""
argument name description
#1
script the name of the file containing the script
which is to be frozen
#2
init_script the name of the initialization script that will
be executed before the actual script is executed; this script is used to
set up the environment for the executable; if a name is given without an >absolute path the names of files in the initscripts subdirectory of the >cx_Freeze package is searched
#3
base the name of the base executable; if a name is
given without an absolute path the names of files in the bases subdirectory >of the cx_Freeze package is searched
#4
target_name the name of the target executable; the default
value is the name of the script; the extension is optional (automatically >added on Windows); support for names with version; if specified a pathname, >raise an error.
#5
icon name of icon which should be included in the
executable itself on Windows or placed in the target directory for other >platforms (ignored in Microsoft Store Python app)
#6
manifest name of manifest which should be included in
the executable itself (Windows only - ignored by Python app from Microsoft >Store)
#7
uac-admin creates a manifest for an application that will
request elevation (Windows only - ignored by Python app from Microsoft
Store)
#8
shortcut_name the name to give a shortcut for the executable
when included in an MSI package (Windows only).
#9
shortcut_dir the directory in which to place the
shortcut when being installed by an MSI package; see the MSI Shortcut table >documentation for more information on what values can be placed here
(Windows only).
#10
copyright the copyright value to include in the version
resource associated with executable (Windows only).
#11
trademarks the trademarks value to include in the version
resource associated with the executable (Windows only).
"""
I tried passing just main.py or one of the others that might be a starting point but just got ’NoneType has no len()
Then I searched for ‘python executable’ and found auto-py-to-exe and pyinstaller which I must/might explore later. First tries ran into PyQt4 to PyQt5 conversions. Good start at https://towardsdatascience.com/how-to-easily-convert-a-python-script-to-an-executable-file-exe-4966e253c7e9
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 60:00:20 |
Calls: | 6,712 |
Files: | 12,243 |
Messages: | 5,355,702 |