From 55bce593f04b64a383e300ae9967ce690f95c70d Mon Sep 17 00:00:00 2001 From: Jocelyn Delalande Date: Sun, 26 Jul 2020 19:55:44 +0200 Subject: [PATCH] Use venv module rather than virtualenv - simpler to use - lighter dependency (or no dependency at all, depending on python distribution) - retrocompatible virtualenv package from pip to acheive virtual environment feature is no longer needed, except for projects which need to support py2, which is no longer our case. Also, reword "virtualenv" to "virtual environment" in doc, to avoid confusion with pip package name. Ref #483 --- Makefile | 2 +- docs/contributing.rst | 4 ++-- docs/installation.rst | 18 +++++++++--------- docs/upgrade.rst | 6 +++--- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index a6817094..e2fbf325 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VIRTUALENV = virtualenv --python=python3 +VIRTUALENV = python3 -m venv SPHINX_BUILDDIR = docs/_build VENV := $(shell realpath $${VIRTUAL_ENV-.venv}) PYTHON = $(VENV)/bin/python3 diff --git a/docs/contributing.rst b/docs/contributing.rst index 8e0d69aa..7b4f8a55 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -67,7 +67,7 @@ If System :ref:`installation-requirements` are fulfilled, you can just issue:: make serve -It will setup a `virtualenv `_, +It will setup a `Virtual environment `_, install dependencies, and run the test server. The hard way @@ -193,7 +193,7 @@ The documentation is using `sphinx `_ and its source is located inside the `docs folder `_. -Install doc dependencies (within the virtualenv, if any):: +Install doc dependencies (within the virtual environment, if any):: pip install -r docs/requirements.txt diff --git a/docs/installation.rst b/docs/installation.rst index 4d37af82..b33fb55d 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -21,9 +21,9 @@ Requirements * **Python**: either 3.6, 3.7 or 3.8 will work. * **A Backend**: to choose among MySQL, PostgreSQL, SQLite or Memory. -* **Virtualenv** (recommended): `virtualenv` package under Debian/Ubuntu. +* **Virtual environment** (recommended): `python3-venv` package under Debian/Ubuntu. -We recommend to use `virtualenv `_ but +We recommend to use `virtual environment `_ but it will work without if you prefer. If wondering about the backend, SQLite is the simplest and will work fine for @@ -33,16 +33,16 @@ most small to medium setups. .. _virtualenv-preparation: -Prepare virtualenv (recommended) -================================ +Prepare virtual environment (recommended) +========================================= Choose an installation path, here `/home/john/ihatemoney`. -Create a virtualenv:: +Create a virtual environment:: - virtualenv -p /usr/bin/python3 /home/john/ihatemoney + python3 -m venv /home/john/ihatemoney -Activate the virtualenv:: +Activate the virtual environment:: source /home/john/ihatemoney/bin/activate @@ -74,7 +74,7 @@ Configure database with MySQL/MariaDB (optional) apt install python3-dev libssl-dev -2. Install PyMySQL (within your virtualenv):: +2. Install PyMySQL (within your virtual environment):: pip install 'PyMySQL>=0.9,<0.10' @@ -87,7 +87,7 @@ Configure database with PostgreSQL (optional) .. note:: Only required if you use Postgresql. -1. Install python driver for PostgreSQL (from within your virtualenv):: +1. Install python driver for PostgreSQL (from within your virtual environment):: pip install psycopg2 diff --git a/docs/upgrade.rst b/docs/upgrade.rst index 560c2a97..0db0428b 100644 --- a/docs/upgrade.rst +++ b/docs/upgrade.rst @@ -15,7 +15,7 @@ General procedure *(sufficient for minor/patch upgrades)* -1. From the virtualenv (if any):: +1. From the virtual environment (if any):: pip install -U ihatemoney @@ -47,7 +47,7 @@ Switch to a supported version of Python If you were running IHateMoney using Python < 3.6, you must, **before** upgrading: 1. Ensure to have a Python ≥ 3.6 available on your system -2. Rebuild your virtualenv (if any). It will *not* alter your database nor configuration. For example, if your virtualenv is in `/home/john/ihatemoney/`:: +2. Rebuild your virtual environment (if any). It will *not* alter your database nor configuration. For example, if your virtual environment is in `/home/john/ihatemoney/`:: rm -rf /home/john/ihatemoney pyhton3 -m venv /home/john/ihatemoney @@ -89,7 +89,7 @@ development only. 1. Delete the cloned folder -.. note:: If you are using a virtualenv, then the following commands should be run inside it (see +.. note:: If you are using a virtual environment, then the following commands should be run inside it (see :ref:`virtualenv-preparation`).