Project

General

Profile

Actions

DevelopersPython3Environment » History » Revision 20

« Previous | Revision 20/21 (diff) | Next »
Dan Smith, 10/16/2024 09:42 AM


Python 3 Developer Environment Setup

Windows

Install Python

  1. Download and install from python.org. At the time of this writing, "Python 3.10.8" is recommended. During install note these options:
    1. Choose Add python.exe to PATH
    2. Choose Disable path length limit
  2. In Windows settings, search "Manage app execution aliases" and:
    1. Disable App Installer: python.exe
    2. Disable App Installer: python3.exe
    3. Disable App Installer: python3.7.exe

Install Git

  1. Download and install from git-scm.org. During installation take the defaults except for:
    1. Configuring the line ending conversions: choose Checkout as-is, commit Unix-style line endings

Configure Git

From a command line:

  1. git config --global user.name "FIRST_NAME LAST_NAME"
  2. git config --global user.email "MY_NAME@example.com"
  3. 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

  1. python3 -m pip install -r requirements.txt
  2. 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

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 2 months ago · 20 revisions