Create Virtual Environment Python 3 application uses modules and packages that are not included in the standard library. These applications often require a specific version of the library. The reason is the app often demands to resolve a particular bug or to write an application in an obsolete version.
It is easy to resolve this problem by creating a virtual environment in python 3. It is a self-contained directory tree. In addition to various additional packages, it includes a particular version of python installation.
For more guides like this, visit our Blog.
A virtual environment (Virtualenv) is a means to make an isolated python environment. Having its installation directories, virtualenv does not share its libraries with other virtual environments.
Therefore, the virtual environment is recommended and considered the easiest way to organize a custom Python environment.
Venv comes with Python 3, and Python 2 does not include venv. Virtualenv is a library that delivers more functionality when compared with venv. The following are some features that venv does not contain as compared to virtualenv.
Yes, it is right that a virtual environment can be created using venv with python 3, even though you are recommended to install and use virtualenv considering the above features.
Virtual can only be installed on DreamHost servers used for Python 2. While, if it is about Python3, then you must consider and install virtualenv using pip3.
Generally, pip3 is not installed by default on the server. Therefore, a user requires to install a custom versioned Python 3 first. This customed versioned Python 3 also contains pip3. After installation and activation, you can run following the python3 command.
[server]$ python3 -m pip install --upgrade pip
Once pip3 is upgraded, you can install virtualenv:
[server]$ pip3 install virtualenv
Collecting virtualenv Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB) 100% |████████████████████████████████| 1.8MB 367kB/s Installing collected packages: virtualenv Successfully installed virtualenv-15.1.0
You will want a full path to Python 3 virtualenv. To meet this need, you can use the following command:
[server]$ which virtualenv
/home/username/opt/python-3.6.2/bin/virtualenv
It is liked more to have a custom versioned python over the server’s version. To Create a New Virtualenv with the use of a custom-installed Python version, you can follow these steps:
[server]$ which python3
/home/username/opt/python-3.6.2/bin/python
[server]$ cd ~/example.com
[server]$ . ~/.bash_profile
[server]$ virtualenv -p /home/example_username/opt/python-3.6.2/bin/python3 venv
Run virtualenv with interpreter /home/example_username/opt/python-3.6.2/bin/python3
Using base prefix '/home/example_username/opt/python-3.6.2'
New python executable in /home/example_username/example.com/env/bin/python3
Also, create executable in /home/example_username/example.com/env/bin/python
Install setup tools, pip, wheel...done.
[server]$ source venv/bin/activate
[server]$ source venv/bin/activate[server]$ python -V
Python 3.6.2
Now, you can see the packages have been installed using pip in the folder of the virtual environments project that is isolated from the python installation
Once you have completed your work in the virtual environment and you want to deactivate it, you can run the following command;
[server]$ deactivate
If a user wants to remove a create virtual environment, then he can delete it by deleting the project folder, and the following demand can be used.
[server]$ rm -rf venv
When working with Python, it is consider good to create and activate a virtual environment. The reason is that it provides you with an isolated environment. Any work done in this isolated environment does not affect other environments.
To install a custom model, you can use pip3;
[server]$ source venv/bin/activate
(venv) [server]$ pip3 install <module>
When you are creating a virtualenv with the use of Python3, you can face the following error
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
OSError: Command /home/username/venv/bin/python3 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1
To avoid this situation, a user has the option to add the following line at the time of installing a custom version in the .bash profile. Hence the user can avoid this error.
export LC_ALL="en_US.UTF-8"
It also happens when you run the command of virtualenv; it is running in a version outside of your custom installation. You must try the following command;
[server]$ which virtualenv
/home/user/opt/python-3.8.0/bin/virtualenv
In this way, the user can know the version in the custom python3 directory. Afterward, the user can create a Virtualenv by using the full path as follows;
[server]$ /home/user/opt/python-3.8.0/bin/virtualenv -p /home/user/opt/python-3.8.0/bin/python3 venv
Read More: