Python virtualenv
setup¶
Python "virtual environments" allow us to create isolated spaces, ensuring that each python project can have its own set of dependencies, without affecting other projects.
In other words, a virtual environment is a directory containing a few scripts that enable us to create a project-specific Python runtime environment, where using the pip install
command will have effect only on the project itself, and not on other projects or on the system as a whole.
Note
using Virtualenv is not strictly necessary for developing bots and integration with the Teamwire SDK, but we believe it can be useful to avoid dependency conflicts across different projects
The following sections will guide you through the steps involved in setting up Virtualenv for your Python environment.
Installing virtualenv¶
In order to install Virtualenv, we need to use the pip install
command. Depending on your system and your python setup, you might need to invoke pip3
instead of pip
. On Unix systems (e.g. Linux, MacOS X), you migh also need to use sudo
to run commands as an administrator. Similarly, on Windows you might need to run the command prompt shell as an administrator.
$ [sudo] pip install virtualenv
If the installation succeeds, you can ensure that virtualenv is working with the following:
$ virtualenv --version
Creating a virtualenv¶
As mentioned, Virtualenv works on a "per project" basis, so let's suppose we have a project named "my_teamwire_bot" and we want to use Virtualenv with it.
Supposing the my_teamwire_bot
directory already exists, we should first create a Python virtual environment for it with the following:
$ cd my_teamwire_bot
$ virtualenv <virtualenv_name>
in particular, <virtualenv_name>
is usually env
, so we simply issue that command as:
$ virtualenv env
This will create an env
directory under the my_teamwire_bot
Activating the virtualenv¶
Once the virtual environment has been created, we should activate it, to ensure that we use isolated dependencies for our project.
Supposing we are still in the my_teamwire_bot
directory, we activate the virtual environment with:
On unixes
$ source env/bin/activate
On Windows
> env\Scripts\activate.bat
The shell prompt will change, showing the environment name, like the following:
On unixes
(env) me@my-machine:~/my_teamwire_bot#
On Windows
(env) C:\Users\me\Documents\my_teamwire_bot>
From now on, every time you will issue a pip install
command, this will only affect the activated project.
Example
Installing the Teamwire SDK in an isolated virtual environment related to you project you simply have to run
$ pip install /path/to/sdk/teamwire_api-1.6.0-py39-none-any.whl
Dectivating the virtualenv¶
Once finished working on a specific project, you can deactivate its virtual environment.
This can be done with the deactivate
command, which is available only if a Virtualenv is currently activated:
$ deactivate