-
Notifications
You must be signed in to change notification settings - Fork 11
Creating Binary Packages
Mark Jessop edited this page Apr 28, 2024
·
17 revisions
This all assumes you have the horus-gui source somewhere on your computer, either acquired via git or from a downloaded archive from the releases page. The commands below should be run within the horus-gui directory.
- Use stock Python 3.7 for Windows (no Anaconda Python!!!). (Note - Python 3.7 is used to ensure Win 7 support)
- https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe
- When installing, ensure the Python install is added to the system path.
- Create and enter venv
- python -m venv
- venv\Scripts\activate.bat
- Install PyAudio from wheel here: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio (get the cp37m-win_amd64 wheel, then
pip install filename.whl
) - Then get rest of dependencies with: pip install -r requirements.txt
- We now need to build libhorus.dll - see here: https://github.com/projecthorus/horusdemodlib/wiki/7-Building-HorusDemodLib-under-Windows-using-MinGW We need libhorus.dll in the current directory.
- Can now test starting Horus-GUI by running: python horus-gui.py
- Seems to be some issues finding libhorus.dll, so we can override the lib search path by running:
python horus-gui.py --libfix
- Seems to be some issues finding libhorus.dll, so we can override the lib search path by running:
Horus-GUI seems to run OK under Python 3.11.3 on Windows 10/11.
- Download: https://www.python.org/ftp/python/3.11.3/python-3.11.3-amd64.exe
- When installing, you can choose to have python added to your system path.
- Open a command prompt and run
python
to make sure you're running the right version. - Make venv:
python -m venv venv
- If you have multiple installs of python, you will need to replace 'python' with the full path to python.exe e.g.:
C:\Users\USERNAME\AppData\Local\Programs\Python\Python311\python.exe -m venv venv
- If you have multiple installs of python, you will need to replace 'python' with the full path to python.exe e.g.:
- Enter venv:
venv\Scripts\activate.bat
- Then get rest of dependencies with:
pip install -r requirements.txt
- Note there is no need to get pyaudio separately, we can just get this via pip in this version!
- Download libhorus.dll and put into the current directory: https://github.com/projecthorus/horusdemodlib/releases/download/v0.1.21/libhorus.dll
- Can now test starting Horus-GUI by running:
python horus-gui.py
- Seems to be some issues finding libhorus.dll, so we can override the lib search path by running:
python horus-gui.py --libfix
- Seems to be some issues finding libhorus.dll, so we can override the lib search path by running:
-
pip install pyinstaller
-
Copy the following DLLs from a MinGW-64 installation (C:\mingw64\bin) into the current directory:
- libgcc_s_seh-1.dll
- libwinpthread-1.dll
- libstdc++-6.dll
-
Now run: pyinstaller horus-gui_win.spec
-
Should build OK!
-
This will create a directory 'dist/' with horus-gui.exe in it! That's it!
(Assuming you have Python 3.7 available via Macports)
- Get to the point of having horus-gui running from the terminal, by following the instructions on the main README.md
- Note that you need to have horusdemodlib in a directory up from horus-gui (e.g.
../horusdemodlib/
exists, and is built. In particular, we need../horusdemodlib/build/src/libhorus.dylib
) - pip install pyinstaller
- pyinstaller horus-gui_osx.spec
Then, you will need to edit the Info.plist file within the generated appbundle, and add into the <dict>
section:
<key>NSMicrophoneUsageDescription</key>
<string>Horus-GUI needs audio access to receive telemetry.</string>