"Invalid script entry point" on Nuitka 0.5.29 installation
See original GitHub issueThe latest Nuitka 0.5.29 cannot be installed from pip:
$ pip install nuitka
Collecting nuitka
Downloading Nuitka-0.5.29.tar.gz (2.0MB)
100% |████████████████████████████████| 2.0MB 660kB/s
Building wheels for collected packages: nuitka
Running setup.py bdist_wheel for nuitka ... done
Stored in directory: /home/frol/.cache/pip/wheels/46/56/4d/65ba15f23b85dbbb1fa09b2dd6c704b403cc641ec313812b53
Successfully built nuitka
Installing collected packages: nuitka
Invalid script entry point: <ExportEntry nuitka3 = nuitka.__main__:None []> for req: nuitka - A callable suffix is required. Cf https://packaging.python.org/en/latest/distributing.html#console-scripts for more information.
The error is the same for Python 2 and Python 3 environments (only nuitka3
gets nuitka
in Python 2 environment).
- Linux, Windows, Mac OS are all affected
- Python 2.7.14 and 3.6.4
- pip 9.0.1 and 9.0.3
I am one of the maintainers of Nuitka package for Conda-Forge (Anaconda) and it fails on the CI: https://github.com/conda-forge/nuitka-feedstock/pull/12 (follow the CI links at the bottom of the page)
Issue Analytics
- State:
- Created 5 years ago
- Comments:12 (7 by maintainers)
Top Results From Across the Web
Nuitka · PyPI
Select one of Windows x86-64 web-based installer (64 bits Python, recommended) or x86 executable (32 bits Python) installer. Verify it's working using command ......
Read more >Nuitka - Gitee
Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, and 3.7. You feed...
Read more >nuitka Changelog - pyup.io
Ciphers when needed. - Distutils: Was not including modules or packages only referenced in the entry point definition, but not in the list...
Read more >Secret Recipes of the Python Ninja | Packt
This book covers the unexplored secrets of Python, delve into its depths, and uncover its mysteries. You'll unearth secrets related to the implementation...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I created the check step for PyPI uploads, and the archive as created by “sdist” fails. The one you take from GH has hard coded runners for use in checkout, they are going to work, but sort of expect to be inside source checkout layout, not generally true. It might not run.
This reminds me, to check if my factory instructions will still work, as they do something similar.
However, the thing is, pip has its own code to create runners during installation, according to setup.py entry points, throwing away what is there, and inhibiting the setuptools code that I hook to make them work. So, I can get around that issue of having the complaint, but the runners didn’t work, as they cannot be run again with “-S” disabling site parameter, and then find the “nuitka” package again.
This issue is worked around by restoring the sys.path in the runners from an environment variable, then importing nuitka, and it works. However, pip and its wheel code are running beyond my control, and will not be patchable.
So what I did instead is to go back to what the original pull request did and make nuitka.main call itself instead of the runner. It used to give wrong error messages, about “main: some error message”, but I added code that preserves the sys.argv[0], and restores it now, and therefore calling the runner again has become unnecessary.
It now merely is a performance optimization to patch the runners, so they are leaner and do not import stuff for a second, but pip does that itself too, so it ought to be good.
I will put it through my CI, but in principle it will be nicer as it’s one less module to load on restart. And with that, my PyPI upload job now passes, and will fail if in the future it breaks again as severe as this.
Conda-Forge CI passed: https://github.com/conda-forge/nuitka-feedstock/pull/13