Skip to content

Revert "Update to py2exe 0.11.0.1 (#13066)"#13508

Closed
michaelDCurran wants to merge 1 commit intobetafrom
revert_pr13066
Closed

Revert "Update to py2exe 0.11.0.1 (#13066)"#13508
michaelDCurran wants to merge 1 commit intobetafrom
revert_pr13066

Conversation

@michaelDCurran
Copy link
Copy Markdown
Member

@michaelDCurran michaelDCurran commented Mar 18, 2022

Link to issue number:

Reverts pr #13066

Summary of the issue:

Some time after we branched for the 2021.3 beta, pr #13066 was merged to master, which upgraded Py2exe to 0.11.1. However, this version of Py2exe fails to build the NVDA distribution when using optimized Python (E.g. when building a release).

Traceback (most recent call last):
  File "setup.py", line 290, in <module>
    + getRecursiveDataFiles('documentation', '../user_docs', excludes=('*.t2t', '*.t2tconf', '*/developerGuide.*'))
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\setuptools\__init__.py", line 144, in setup
    return distutils.core.setup(**attrs)
  File "C:\Program Files (x86)\Python37-32\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Program Files (x86)\Python37-32\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Program Files (x86)\Python37-32\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 114, in run
    super(py2exe, self).run()
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\distutils_buildexe.py", line 192, in run
    self._run()
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\distutils_buildexe.py", line 272, in _run
    builder.analyze()
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\runtime.py", line 172, in analyze
    mf.import_package(modname)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\mf310.py", line 144, in import_package
    self.import_hook(name,  None, ["*"])
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 211, in import_hook
    q, tail = self.find_head_package(parent, name)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 267, in find_head_package
    q = self.import_module(head, qname, parent)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 361, in import_module
    m = self.load_module(fqname, fp, pathname, stuff)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 374, in load_module
    m = self.load_package(fqname, pathname)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 526, in load_package
    self.load_module(fqname, fp, buf, stuff)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 402, in load_module
    self.scan_code(co, m)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 475, in scan_code
    self._safe_import_hook(name, m, fromlist, level=0)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 420, in _safe_import_hook
    self.import_hook(name, caller, level=level)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 211, in import_hook
    q, tail = self.find_head_package(parent, name)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 267, in find_head_package
    q = self.import_module(head, qname, parent)
...
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 361, in import_module
    m = self.load_module(fqname, fp, pathname, stuff)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 402, in load_module
    self.scan_code(co, m)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 508, in scan_code
    self.scan_code(c, m)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 508, in scan_code
    self.scan_code(c, m)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 475, in scan_code
    self._safe_import_hook(name, m, fromlist, level=0)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 435, in _safe_import_hook
    self.import_hook(name, caller, [sub], level=level)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 216, in import_hook
    self.ensure_fromlist(m, fromlist)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 306, in ensure_fromlist
    submod = self.import_module(sub, subname, m)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 355, in import_module
    parent and parent.__path__, parent)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 555, in find_module
    return _find_module(name, path)
  File "C:\Users\mick\programming\git\nvda\.venv\lib\site-packages\py2exe\vendor\modulefinder.py", line 89, in _find_module
    spec = importlib.machinery.PathFinder.find_spec(name, path)
  File "<frozen importlib._bootstrap_external>", line 1280, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1246, in _get_spec
TypeError: 'int' object is not iterable

This was not noticed until trying to build the NVDA 2022.1beta1 tag.

Example builds:

Description of how this pull request fixes the issue:

This pr reverts pr #13066, restoring Py2exe back to 0.10.1.

Testing strategy:

Known issues with pull request:

None known.

Change log entries:

None needed.

New features
Changes
Bug fixes
For Developers

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English

Necessary as Pyt2exe 0.11.1.0 has produces an exception when trying to parse our rlease version strings.

This reverts commit 0f74330.
@michaelDCurran michaelDCurran requested a review from a team as a code owner March 18, 2022 23:46
@michaelDCurran michaelDCurran requested review from seanbudd and removed request for a team March 18, 2022 23:46
@michaelDCurran michaelDCurran added this to the 2022.1 milestone Mar 18, 2022
@AppVeyorBot
Copy link
Copy Markdown

See test results for failed build of commit 8989ccb595

@AppVeyorBot
Copy link
Copy Markdown

See test results for failed build of commit 8989ccb595

@michaelDCurran michaelDCurran marked this pull request as draft March 19, 2022 03:02
@michaelDCurran michaelDCurran marked this pull request as ready for review March 19, 2022 13:51
@lukaszgo1
Copy link
Copy Markdown
Contributor

@michaelDCurran This particular issue was fixed in py2exe 0.11.1.0 (see py2exe/py2exe@c3bee60). Perhaps rather than reverting #13066 we can just update py2exe to 0.11.1.0? For me optimized build works with 0.11.1.0 locally.

@michaelDCurran
Copy link
Copy Markdown
Member Author

@lukaszgo1 Ah, thanks for mentioning this.
Confirmed:

  • Release try build of beta with py2exe 0.11.1.0 succeeded
    @seanbudd To fix the build issue for tagged betas, We can either go with this pr which reverts back to py2exe 0.10.1.0, or instead we can upgrade to py2exe 0.11.1.0. Py2exe 0.10.1.0 is well tested for many NVDA releases so is possibly a safer option, though upgrading py2exe means we are on a more up to date version which may address other issues we are unaware of, and we have been using a version close to that for many months on master now. I'll leave it up to you which way we go for the beta.

@seanbudd
Copy link
Copy Markdown
Member

seanbudd commented Mar 20, 2022

Based on the changes in https://github.com/py2exe/py2exe/releases/tag/v0.11.1.0 I think we should proceed with upgrading. It looks like one of the major changes of the release is fixing optimize. The changes look not very risky and can be tested on beta and alpha. In the worst case we have to revert back to 0.10.1.0 in a subsequent beta.

@michaelDCurran michaelDCurran mentioned this pull request Mar 20, 2022
5 tasks
@michaelDCurran
Copy link
Copy Markdown
Member Author

Closing in favor of #13510 upgrading Py2exe to 0.11.1.0.

seanbudd pushed a commit that referenced this pull request Jun 21, 2022
When checking the change log translation, I have found a wrong reference in an item of the change log. I have thus checked all the refs for 2022.2.

Link to issue number:
None
Follow-up of various issues.

Summary of the issue:
Some of the GitHub references in the change log were targetting wrong issue or PR.

Description of user facing changes
The references have been fixed in the change log document.

Description of development approach
Fixed the following references:

Fixup of PR 13082: fix a misspell in DefaultAppArgs and no longer use globalVars.appArgs in a boolean context (#13386) #13386 replaced by Windows 10/11 Calculator: allow NVDA to announce more operations by suppressing only a limited number of keyboard commands #13383
Revert "Update to py2exe 0.11.0.1 (#13066)" #13508 replaced by Windows 11 Design Elements Are Not Reported by NVDA When Mouse Tracking Is On #13506
Fixup of PR 13082: fix a misspell in DefaultAppArgs and no longer use globalVars.appArgs in a boolean context (#13386) #13386 (bis) replaced by Windows 11 Notepad: status bar is not announced #13688
Also, I have replaced #13276 (Libre Office issue) by #13277 (associated PR) since the issue description is not related at all with the change for developers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants