Why create a virtual environment python
In the development of Python applications, system installation Python3 only one version: 3.4. All third-party packages will be pip
installed to Python3 the site-packages
directory.
If we want to develop multiple applications simultaneously, and that these applications will share a Python, it is installed in the system's Python 3. If the application A needs jinja 2.7, while application B needs jinja 2.6 how to do?
In this case, each application may need to have their own set of "independence" of the Python runtime environment. virtualenv is used to create a "quarantine" of the Python runtime environment for an application.
Create a virtual environment
Installation virtualenv
pip install virtualenv
Create a virtual environment
1 Create a directory to store all virtual environments virtualenv_all 2 to create a virtual environment, generally named after the project. Cd virtualenv_all virtualenv s22_crm # create success can be seen more than a directory, is to copy a python interpreter ccdeMacBook - Air: LS CC $ virtualenv_all s22_crm ccdeMacBook -Air: virtualenv_all CC $ LS s22_crm / bin the include lib 3 . enter the virtual environment ccdeMacBook -Air: virtualenv_all s22_crm CC $ cd / ccdeMacBook -Air: s22_crm CC $ Source bin / of an activate (s22_crm) ccdeMacBook - Air : s22_crm CC $ # Python environment variable to point to the virtual environment has been very clean, had nothing. You can install all dependencies needed project in a virtual environment. (s22_crm) ccdeMacBook -Air:s22_crm cc$ pip list Package Version ---------- ------- pip 20.0.2 setuptools 46.1.3 wheel 0.34.2 (s22_crm) ccdeMacBook-Air:s22_crm cc$ which pip /Users/xiaochao/Documents/code/python_s22/virtualenv_all/s22_crm/bin/pip
(s22_crm) ccdeMacBook-Air:s22_crm cc$ which python /Users/xiaochao/Documents/code/python_s22/virtualenv_all/s22_crm/bin/python 4. 退出虚拟环境 (s22_crm) ccdeMacBook-Air:s22_crm cc$ deactivate ccdeMacBook-Air:s22_crm cc$
PyCharm using a virtual environment
PyCharm create a virtual environment