forked from py2exe/py2exe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
111 lines (77 loc) · 4.03 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Important Bugs:
- Fix these 'ValueError: __loader__ is None' errors.
These occur when ModuleFinder encounters an implicit namespace
package.
Fixed in rev. 755:
First step: Catch this case and display a message (which includes
the package name) that namespace packages are not yet supported.
Second step: Make namespace packages work. Actually they occur in
two separate cases - the first one is matplotlib.mpl_toolkit which
is a real namespace package becuase it has no __init__.py file. The
second case is zope.interface or wheezy.template, these packages
have an __init__.py file in the sources, but setuptools installs a
xxx-nspkg.pth file which puts an strange module into sys.modules
even if nothing is imported.
See also messages to the py2exe mailing list, and
https://www.mail-archive.com/[email protected]/msg20307.html
as well as
http://sourceforge.net/p/py2exe/bugs/136/
- Packages that use cffi do not work.
Example: cryptography (which is use by OpenSSL). The reason is that
cffi uses imp.find_module() and later imp.load_dynamic() (in
cffi.vengine_ypi.VCPythonEngine). These do only work for files
and not for zipimport.
pyInstaller has a hook that seems to work. Can it be adapted for py2exe,
or do we need to patch cffi at runtime?
- py2exe does not detect imports from six.moves.
- Implement a separate modulefinder for Python 3.4 and above which
uses the PEP451 ModuleSpec type and avoids calling deprecated apis.
- Does probably not work with extensions built against the limited API
(python3.dll)???
================================================================
Fixed in rev. 755: When running in a virtual environment, py2exe did
not copy the tcl/tk files when 'import tkinter' is detected.
Fixed in rev. 755: When ModuleFinder encounters a PEP 420 implicit
namespace package 'ValueError: __loader__ is None' exception is
no longer raised; instead an error message is printed.
Fixed in rev. 751: ModuleFinder.import_package enumerates subpackages
and imports modules from them recursively.
================================================================
Have to check which of the following is still needed:
Bugs:
- debug the 'verbose' argument to py2exe. It defaults to 1, using
'-q' sets it to 0, '-v' doesn't change it, '-vv' sets it to 2.
Strange.
- Is this true any longer ???:
ctypes com servers (inproc) do not work with bundle_files 2 or 3
when the same Python version is used in the client. Did this work
at all with py2exe 0.6?
- distutils catches errors different from DistutilsError (or so)
- distutils_buildexe needs to import DistutilsOptionError (or so)
- py2exe for Python2 used an 'uac_info' string (exec_level) or tuple
(exec_level, ui_access) attribute on the Target to include or patch
a default manifest.
- custom_boot_script ?
- typelib ?
Ideas:
- clean up console output when building.
- add some scripts to inspect executables, like:
- dump_manifest.py
- dump_versioninfo.py
- or even a general resource dumper?
- or even a py2exe dumper?
TODO:
- services cmdline_style not yet implemented
================================================================
Fixed bugs:
(The version numbers up tp 380 are probably from the former repository at
https://ctypes-stuff.googlecode.com/svn/trunk/mf)
rev 380: - ctypes DLL COM servers can now load dlls (like sqlite3.dll) correctly.
rev 343: - DLL com servers are now implemented
rev 336: - py2exe\dll.dll is not installed.
rev 342: - when installed as egg, py2exe/boot_common.py is not a file and so not found.
rev 342: - number of icons (or icon images) is limited for whatever reason.
rev 342: - extensions are in the wrong directory when library is in a subdirectory
rev 342: - (String) Versioninfo not build? (Needs 'self.version = "6.5"' attribute in Target???)
Must include this into setup_template.py!
rev 342: - services not yet implemented