Python 3 Developer Environment Setup¶
- Table of contents
- Python 3 Developer Environment Setup
Windows¶
Install Python¶
- Download and install from python.org. At the time of this writing, "Python 3.10.8" is recommended. During install note these options:
- Choose Add python.exe to PATH
- Choose Disable path length limit
- In Windows settings, search "Manage app execution aliases" and:
- Disable App Installer: python.exe
- Disable App Installer: python3.exe
- Disable App Installer: python3.7.exe
Install Git¶
- Download and install from git-scm.org. During installation take the defaults except for:
- Configuring the line ending conversions: choose Checkout as-is, commit Unix-style line endings
Configure Git¶
From a command line:
git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "MY_NAME@example.com"
- Optional, if you want to set an editor:
git config --global core.editor "PATH TO EDITOR"
Clone the CHIRP git repository (master branch)¶
From a command line:
C:\Users\{user}\Documents> git clone https://github.com/kk7ds/chirp
C:\Users\{user}\Documents> cd chirp
Install the python dependencies¶
python3 -m pip install -r requirements.txt
python3 -m pip install tox
Run CHIRP¶
From inside the chirp git repo, type this to run CHIRP from source:
chirpwx.py
Optional, but recommended: Install GitHub CLI¶
Via winget: winget install --id GitHub.cli
or manually from github.com
Note: {user} as shown in paths above is the logged in Windows user
Note: The steps above were done on Windows 10 Pro, version 22H2
MacOS¶
Install command-line tools¶
$ xcode-select --install
Clone the CHIRP git repository¶
$ git clone https://github.com/kk7ds/chirp
$ cd chirp
Install python requirements¶
$ python3 -m pip install -r requirements.txt
$ python3 -m pip install tox
(Note that tox
is only needed for running tests, not for running CHIRP itself)
Run CHIRP¶
$ ./chirpwx.py
Linux¶
These instructions are for Debian/Ubuntu, but should be generally applicable to other distros, possibly with different package names. You can use all distro packages (recommended), or install the python requirements with pip install -r requirements.txt
but you probably want to get wxPython from distro packages.
Install packages¶
$ sudo apt install git python3-requests python3-serial python3-six python3-suds python3-wxgtk4.0 python3-yattag python3-pip
$ python3 -m pip install tox
(Note that tox
is only needed for running tests, not for running CHIRP itself)
Alternately, and especially if your distro is using managed python, you may want to just create a virtualenv for development. You will still want wxPython from the distro though:
$ sudo apt install python3-wxgtk4.0 python3-virtualenv
$ virtualenv --system-site-packages venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ pip install tox
Clone the CHIRP git repository¶
$ git clone https://github.com/kk7ds/chirp
Run CHIRP¶
$ cd chirp
$ ./chirpwx.py
Python 3.11 Notes¶
Python 3.11 breaks a lot of things by removing some compatibility with previous releases. Right now (as of 9-March-2023), the main CHIRP builds are done on <= 3.10 and will continue that way until the wxPython team provides pre-built 3.11 wheels for macOS and Windows.
For attrdict
related issues, see this github issue.
Running tests¶
Below are some examples for running tests using tox. This is required to pass the CI checks on submissions before things can be merged.
Running everything:
$ tox
Running just style checks:
$ tox -e style
Running just driver tests for only drivers with changes since origin/master
:
$ tox -e fast-driver
Running just one driver test by module name:
$ tox -e driver -- -k ic2820
Running all driver tests for a given vendor:
$ tox -e driver -- -k Icom
Updated by Dan Smith about 1 month ago · 21 revisions