Project

General

Profile

DevelopersPython3Environment » History » Revision 11

Revision 10 (Dan Smith, 02/15/2023 02:28 AM) → Revision 11/21 (Dan Smith, 02/15/2023 02:29 AM)

# Python 3 Developer Environment Setup 

 {{>toc}} 

 ## Windows 

 ### Install Python 
 1. Download and install from [python.org](https://www.python.org/downloads/windows/). At the time of this writing, "Python 3.10.8" is recommended. During install note these options: 
   1. Choose *Add python.exe to PATH* 
   1. Choose *Disable path length limit* 
 1. In Windows settings, search "Manage app execution aliases" and: 
   1. Disable *App Installer: python.exe* 
   1. Disable *App Installer: python3.exe* 
   1. Disable *App Installer: python3.7.exe* 
 1. Browse in explorer to `%AppData%\Local\Programs\Python\Python310` and copy `python.exe` to `python3.exe` 

 ### Install Git 
 1. Download and install from [git-scm.org](https://git-scm.com/download/win). 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"` 
 1. `git config --global user.email "MY_NAME@example.com"` 
 1. 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` 
 1. `python3 -m pip install tox` 


 ### Optional, but recommended: Install GitHub CLI 
 Via winget: `winget install --id GitHub.cli` or manually from [github.com](https://cli.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 
 ```shell 
 $ xcode-select --install 
 ``` 

 ### Clone the chirp git repository 
 ```shell 
 $ git clone https://github.com/kk7ds/chirp 
 $ cd chirp 
 ``` 

 ### Install python requirements 
 ```shell 
 $ 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 
 ```shell 
 $ ./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 

 ```shell 
 $ sudo apt install git python3-wxgtk4.0 python3-serial python3-six python3-future python3-requests python3-pip 
 $ python3 -m pip install tox 
 ``` 

 (Note that `tox` is only needed for running tests, not for running chirp itself) 

 ### Clone the chirp git repository 
 ``` 
 $ git clone https://github.com/kk7ds/chirp 
 ``` 

 ### Run chirp 
 ```shell 
 $ cd chirp 
 $ ./chirpwx.py 
 ``` 

 

 ## 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 
 ```