ideal/electrum-env

40 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# This script creates a virtualenv named 'env' and installs all
# python dependencies before activating the env and running Electrum.
# If 'env' already exists, it is activated and Electrum is started
# without any installations. Additionally, the PYTHONPATH environment
# variable is set so that system packages such as e.g. apt installed
# PyQt5 will also be visible.
#
# By default, only pure python dependencies are installed.
# If you would like more extras to be installed, do e.g.:
# $ source ./env/bin/activate
# $ pip install -e '.[crypto,gui,hardware]'
# $ deactivate
set -e
PYTHON_VER="$(python3 -c 'import sys; print(sys.version[:3])')"
cd $(dirname $0)
if [ -e ./env/bin/activate ]; then
source ./env/bin/activate
# FIXME what if this is an old directory and our requirements
# changed in the meantime? should run "pip install -e . --upgrade"
else
python3 -m venv env
source ./env/bin/activate
pip install -e .
fi
export PYTHONPATH="$PYTHONPATH:"\
"/usr/local/lib/python${PYTHON_VER}/site-packages:"\
"/usr/local/lib/python${PYTHON_VER}/dist-packages:"\
"/usr/lib/python3/dist-packages:"\
"/usr/lib/python${PYTHON_VER}/site-packages:"\
"${HOME}/.local/lib/python${PYTHON_VER}/site-packages"
./run_electrum "$@"