PyChess does not have to be compiled/installed to run.

To run execute the following in this directory:
$ ./pychess

To install system wide run following as root
# python3 setup.py install

To see other install options/formats:
$ python3 setup.py --help-commands

To run the pychess engine in text based mode
$ PYTHONPATH=lib/ python3 lib/pychess/Players/PyChess.py

To run unit tests for pychess:
cd testing
$ ./run3 run_tests.py

--------------------------------------
Developers shoud install some linters:
pip install flake8
pip install pep8-naming
flake8 --install-hook=git
git config flake8.strict true

-------------------------------
PyChess learning modules need stockfish to be installed

-------------------------------
Dependencies for Ubuntu/Debian:
stockfish
gnome-icon-theme
python3
python3-cairo
python3-gi
python3-gi-cairo
python3-sqlalchemy
python3-pexpect
python3-psutil
python3-websockets
gobject-introspection
gir1.2-glib-2.0
gir1.2-gtk-3.0
gir1.2-pango-1.0
gir1.2-rsvg-2.0
gir1.2-gdkpixbuf-2.0
gir1.2-gtksource-3.0
gir1.2-gstreamer-1.0
gir1.2-gst-plugins-base-1.0
(If you have no sound in pychess try to install gstreamer1.0-pulseaudio)

(Creating .rpm packages needs rpm, creating .deb needs python3-stdeb)

--------------------------------------------
Dependencies for CentOS/RHEL7 and Fedora 20:
stockfish
python3
python3-gobject
python3-cairo
gobject-introspection
glib2
gtk3
pango
gdk-pixbuf2
gtksourceview3
gstreamer1
gstreamer1-plugins-base
python3-sqlalchemy
python3-pexpect
python3-psutil
python3-websockets

----------------------
Dependencies for Arch:
stockfish
python
python-gobject
python-cairo
python-sqlalchemy
python-pexpect
python-psutil
python-websockets
gobject-introspection
glib2
gtk3
pango
gdk-pixbuf2
gtksourceview3
gstreamer
gst-plugins-base

-------------------------
Dependencies for 64bit Python 3.8.x on Windows:
Go to https://msys2.github.io/ and download the x86_64 installer
In C:\msys64\mingw64.exe terminal run:

pacman -S mingw-w64-x86_64-python mingw-w64-x86_64-python-cairo mingw-w64-x86_64-gobject-introspection mingw-w64-x86_64-libffi
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-python-gobject mingw-w64-x86_64-gtksourceview3 mingw-w64-x86_64-freetype
pacman -S mingw-w64-x86_64-python-sqlalchemy mingw-w64-x86_64-python-pexpect mingw-w64-x86_64-python-psutil
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-python-pip git
pip install websockets

In msys64 console window run:
python ./pychess

To create .msi installer:
pacman -S mingw-w64-x86_64-python-cx_Freeze
# You may need this on licalized Windows unless cx_Freeze will fail
export LC_ALL=C
python setup.py bdist_msi

-------------------------
Dependencies for macOS:

Tested on Catalina and Python 3.7.2

1. brew install
brew install pygobject3 gtk+3
brew install gst-python
brew install gtksourceview3
brew install librsvg
# (optional) brew install gettext

2. pip install
see requirements.txt
