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
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.