Search code examples
pythondeploymentexestreamlitpynsist

Pynsist error: NoWheelError: No compatible wheels found for blinker 1.4


I have built a web app by using streamlit. Now, I want to share my app to others without deploying in the cloud. I tried to create an executable file by using pynsist. I followed the steps mentioned in this Package streamlit app and run executable on windows and https://github.com/takluyver/pynsist/tree/master/examples/streamlit but I'm getting this error.

File "C:\Users\user\anaconda3\lib\site-packages\nsist\wheels.py", line 144, in get_from_pypi raise NoWheelError('No compatible wheels found for {0.name} {0.version}'.format(self)) nsist.wheels.NoWheelError: No compatible wheels found for blinker 1.4.

Project structure:

|- src
    |- main.py
    |- run_app.py
|- wheels #empty folder
|- installer.cfg 


Solution

  • This occurs because Blinker does not publish wheels on PyPI. Wheels are a common format for modern Python packages, but Blinker was last released in 2015, when it wasn't so normal to make wheels.

    Blinker appears to be a simple, pure-Python package, so it should be easy to make a wheel of it locally, by running pip wheel blinker==1.4. Then you can tell Pynsist to use this with either the extra_wheel_sources option - giving it a directory of wheels to use in addition to PyPI for pypi_wheels - or the local_wheels option pointing to the specific .whl file.

    See also bundling packages which don't have wheels on PyPI in Pynsist's FAQ.