In my post How to run TabPy with Anaconda on Linux I showed how to use Anaconda to create isolated Python environments so you can have different versions of Python with different packages installed all on the same machine.
If you can not use Anaconda for any reason there is another way to separate Python environments on a machine with help of Python virtual environment package.
For steps below I am using virtual machine running CentOS:
[ogolovatyi@3250e1583c74401 ~]$ hostnamectl
...
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.5.2.el7.x86_64
Architecture: x86-64
All these steps with a little modifications can be used on MacOS or Windows.
To make things more interesting the machine has Python 2.7 on it:
[ogolovatyi@3250e1583c74401 ~]$ python -V
Python 2.7.5
Since TabPy requires Python 3.5 at least let’s first install it (on your Linux distribution you may need use some other package manager instead of yum
):
sudo yum install python3
It is recommended to update pip
with the latest version. Note that python
command still will run Python 2.7. You can change that, but doing so may cause some of other commands and tools work properly. Instead I use python3
command which runs the newly installed Python 3.6.8:
sudo python3 -m pip install --upgrade pip
Now to installing virtualenv
package:
python3 -m pip install virtualenv
For a virtual environment it will be created in the folder where the next command is executed:
python3 -m venv TabPy-venv
After the command above succeeds you can see TabPy-venv
folder was created. You can create multiple virtual environments with using the command – just make the names unique.
To activate the environment run the following:
[ogolovatyi@3250e1583c74401 ~]$ source TabPy-venv/bin/activate
Note how command line prompt changes after the command above succeeded – now it has virtual environment name in it. Additionally python
command now runs Python 3.6.8 I installed before:
(TabPy-venv) [ogolovatyi@3250e1583c74401 ~]$ python -V
Python 3.6.8
All the packages installed in the active virtual environment will be installed in the folder for the environment (TabPy-venv
for the shown steps) and won’t affect “system” Python or any other Python versions or environments.
Now let’s update pip
(remember it is different pip
this time – the one for the virtual environment) and install TabPy:
pip install --upgrade pip
...
pip install tabpy
If you check where the TabPy is installed you’ll see something like this:
(TabPy-venv) [ogolovatyi@3250e1583c74401 ~]$ whereis tabpy
tabpy: /home/....../ogolovatyi/TabPy-venv/bin/tabpy
To start TabPy run the usual tabpy
command or specify config for TabPy (more details at TabPy: modifying default configuration).
And to exit virtual environment simply run deactivate
command.
Additional information about virtualenv
can be found at https://virtualenv.pypa.io/en/stable/.