Skip to content

Build from source

Stuart Clayton edited this page Aug 29, 2023 · 5 revisions

If you wish to build CLAMS Wrangler yourself you can do so using pyinstaller. The build directions are slightly different for each OS and to target a specific OS you have to build on that OS (i.e. Windows executable has to be built on Windows).

VENV setup

It is highly recommended to create a virtual environment to both prevent dependency conflicts and reduce the executable size by only packaging what is needed.

Start by cloning the repository to a location of your choice.

git clone https://github.com/PistilliLab/CLAMSwrangler.git

Create a venv.

python -m venv /path/to/new/virtual/environment

Now install the required dependencies in this virtual environment.

Linux

Make sure that pyinstaller is installed in your venv.

Create a .spec file for the build. Note: the separator for adding data on Linux is :.

pyi-makespec --onefile --noconsole --name CLAMS_Wrangler_v1.0.0_Linux --icon CLAMS_icon.png --add-data "logo.png:." --add-data "CLAMS_icon.ico:." --add-data "CLAMS_icon.png:." --add-data "instructions.txt:." main.py

Run pyinstaller using the .spec file.

pyinstaller CLAMS_Wrangler_v1.0.0_Linux.spec

Windows

Make sure that pyinstaller is installed in your venv.

Create a .spec file for the build. Note: the separator for adding data on Windows is ;.

pyi-makespec.exe --onefile --noconsole --name CLAMS_Wrangler_v1.0.0_Windows --icon CLAMS_icon.png --add-data "logo.png;." --add-data "CLAMS_icon.png;." --add-data "CLAMS_icon.ico;." --add-data "instructions.txt;." main.py

Run pyinstaller using the .spec file.

pyinstaller.exe .\CLAMS_Wrangler_v1.0.0_Windows.spec

Mac

Make sure that pyinstaller is installed in your venv.

Create a .spec file for the build. Note: the separator for adding data on Mac is :.

pyi-makespec --onefile --noconsole --name CLAMS_Wrangler_v1.0.0_macOS --icon CLAMS_icon.png --add-data "logo.png:." --add-data "CLAMS_icon.png:." --add-data "instructions.txt:." main.py

Run pyinstaller using the .spec file.

pyinstaller CLAMS_Wrangler_v1.0.0_macOS.spec

Clone this wiki locally