question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

"Invalid script entry point" on Nuitka 0.5.29 installation

See original GitHub issue

The 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:closed
  • Created 5 years ago
  • Comments:12 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
kayhayencommented, Mar 27, 2018

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.

0reactions
frolcommented, Mar 28, 2018
Read more comments on GitHub >

github_iconTop 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 >
User Manual - Nuitka
No information is available for this page.
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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found