Python虚拟环境(2)—Virtualenv使用详解

◎知识点

  1. 安装Virtualenv

  2. 使用Virtualenv

  3. 使用Virtualenv时的项目交接

  4. 在PyCharm中使用Virtualenv


1.安装Virtualenv

Python虚拟环境(2)—Virtualenv使用详解

~/anzhihe $ pip3 install virtualenv
~/anzhihe $ virtualenv --version
virtualenv 20.21.0 from /Users/buhaihui/opt/anaconda3/lib/python3.9/site-packages/virtualenv/__init__.py


2.使用Virtualenv

2.1 创建虚拟环境

Python虚拟环境(2)—Virtualenv使用详解

~/Desktop $ mkdir MyProject1                                                                                    
~/Desktop $ cd MyProject1
~/Desktop/MyProject1 $ virtualenv MyVirEnv
created virtual environment CPython3.9.7.final.0-64 in 903ms
  creator CPython3Posix(dest=/Users/anzhihe/Desktop/MyProject1/MyVirEnv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/anzhihe/Library/Application Support/virtualenv)
    added seed packages: pip==23.0.1, setuptools==67.4.0, wheel==0.38.4
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

~/Desktop/MyProject1 $ where python
/Users/anzhihe/opt/anaconda3/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python

# 查看MyVirEnv里的安装内容
~/Desktop/MyProject1/MyVirEnv $ tree -N -L 4
.
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── activate.nu
│   ├── activate.ps1
│   ├── activate_this.py
│   ├── pip
│   ├── pip-3.9
│   ├── pip3
│   ├── pip3.9
│   ├── python -> /Users/anzhihe/opt/anaconda3/bin/python
│   ├── python3 -> python
│   ├── python3.9 -> python
│   ├── wheel
│   ├── wheel-3.9
│   ├── wheel3
│   └── wheel3.9
├── lib
│   └── python3.9
│       └── site-packages
│           ├── _distutils_hack
│           ├── _virtualenv.pth
│           ├── _virtualenv.py
│           ├── distutils-precedence.pth
│           ├── pip
│           ├── pip-23.0.1.dist-info
│           ├── pip-23.0.1.virtualenv
│           ├── pkg_resources
│           ├── setuptools
│           ├── setuptools-67.4.0.dist-info
│           ├── setuptools-67.4.0.virtualenv
│           ├── wheel
│           ├── wheel-0.38.4.dist-info
│           └── wheel-0.38.4.virtualenv
└── pyvenv.cfg


2.2 激活虚拟环境

Python虚拟环境(2)—Virtualenv使用详解

~/Desktop/MyProject1/MyVirEnv $ cd bin
~/Desktop/MyProject1/MyVirEnv $ source activate

(MyVirEnv) ~/Desktop/MyProject1/MyVirEnv/bin $ echo $PATH$
/Users/anzhihe/Desktop/MyProject1/MyVirEnv/bin:/Users/anzhihe/opt/anaconda3/bin:/Users/anzhihe/opt/anaconda3/condabin:/Library/Java/JavaVirtual...
~ echo $PATH$
/Users/anzhihe/opt/anaconda3/bin:/Users/anzhihe/opt/anaconda3/condabin:/Library/Java/JavaVirtualMachines...

(MyVirEnv) ~/Desktop/MyProject1/MyVirEnv/bin $ where python
/Users/anzhihe/Desktop/MyProject1/MyVirEnv/bin/python
/Users/anzhihe/opt/anaconda3/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
./python

切换到虚拟环境的bin目录,执行 source activate 激活虚拟环境


2.3 在虚拟环境中进行操作

Python虚拟环境(2)—Virtualenv使用详解

(MyVirEnv) ~/Desktop/MyProject1/MyVirEnv $ cd /
(MyVirEnv) / $ which python3.9
/Users/anzhihe/Desktop/MyProject1/MyVirEnv/bin/python3.9
(MyVirEnv) / $ which pip3.9
/Users/anzhihe/Desktop/MyProject1/MyVirEnv/bin/pip3.9
(MyVirEnv) / $ pip3.9 --version
pip 23.0.1 from /Users/anzhihe/Desktop/MyProject1/MyVirEnv/lib/python3.9/site-packages/pip (python 3.9)
# 由执行结果可和python3.9、pip3.9都是虚拟环境MyVirEnv中的

(MyVirEnv) / $ pip3.9 install requests
(MyVirEnv) / $ cat /Users/anzhihe/Desktop/MyProject1/MyVirEnv/test.py
import requests

print(requests)
(MyVirEnv) / $ python3.9 /Users/anzhihe/Desktop/MyProject1/MyVirEnv/test.py
<module 'requests' from '/Users/anzhihe/Desktop/MyProject1/MyVirEnv/lib/python3.9/site-packages/requests/__init__.py'>
# 由执行结果可知,导入的模块requests来自于虚拟环境MyVirEnv中的第三方库requests

激活某个虚拟环境后,当前的Python解释器就是该虚拟环境中的Python解释器,当前的pip、pip3和easy_install等工具就是该虚拟环境中的相应工具,当前的第三方库就是该虚拟环境中的第三方库


2.4 反激活虚拟环境

Python虚拟环境(2)—Virtualenv使用详解

(MyVirEnv) / $ deactivate
/ $  which python3
python3: aliased to /usr/local/Cellar/python/3.7.3/bin/python3
/ $ which python3.9
/Users/anzhihe/opt/anaconda3/bin/python3.9
/ $ which pip3
/Users/anzhihe/opt/anaconda3/bin/pip3
/ $ which pip3.9
/usr/local/bin/pip3.9
/ $ pip3 --version
pip 21.2.4 from /Users/anzhihe/opt/anaconda3/lib/python3.9/site-packages/pip (python 3.9)
/ $ pip3.9 --version
pip 21.3.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

执行 deactivate 退出虚拟环境,只需将虚拟环境对应的目录全部删除,即可删除虚拟环境


2.5 指定可选参数创建虚拟环境

Python虚拟环境(2)—Virtualenv使用详解

Python虚拟环境(2)—Virtualenv使用详解

~/Desktop/MyProject2 $ where python                                                         
/Users/anzhihe/opt/anaconda3/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python

~/Desktop/MyProject2 $ virtualenv -p "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" MyVirEnv
created virtual environment CPython2.7.18.final.0-64 in 1050ms
  creator CPython2macOsFramework(dest=/Users/anzhihe/Desktop/MyProject2/MyVirEnv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/anzhihe/Library/Application Support/virtualenv)
    added seed packages: pip==20.3.4, setuptools==44.1.1, wheel==0.37.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
  
~/Desktop/MyProject2/MyVirEnv/bin $ source activate
(MyVirEnv) ~/Desktop/MyProject2/MyVirEnv/bin $ where python                                       
/Users/anzhihe/Desktop/MyProject2/MyVirEnv/bin/python
/Users/anzhihe/opt/anaconda3/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
./python
(MyVirEnv) ~/Desktop/MyProject2/MyVirEnv/bin $ python --version
Python 2.7.18


3.使用Virtualenv时的项目交接

Python虚拟环境(2)—Virtualenv使用详解


4.在PyCharm中使用Virtualenv

Python虚拟环境(2)—Virtualenv使用详解

1.打开PyCharm → New Project 创建项目

Python虚拟环境(2)—Virtualenv使用详解

1.使用Virtualenv创建虚拟环境,还可以使用Pipenv或Conda创建虚拟环境

2.Location:指定虚拟环境的位置

3.Base interpreter:创建虚拟环境时使用的是哪个Python安装目录下的Python解释器

4.Inherit global site-packages:就是前面中讲的可选参数--system-site-packages,如果勾上那么在虚拟环境中就可以使用Python的安装目录中的第三方库

5.Make available to all projects:表示创建的虚拟环境是否对所有项目都可用

点击Create就创建了一个纯Python项目,同时创建了一个虚拟环境。以后,该项目的运行都是基于这个虚拟环境。


2.安装PyMySQL模块并执行main.py

Python虚拟环境(2)—Virtualenv使用详解

Python虚拟环境(2)—Virtualenv使用详解

由打印结果可知:使用的是刚创建的虚拟环境中的Python解释器,打印的是是刚创建的虚拟环境中的pymysql模块。也可以将当前项目所使用的Python解释器指定为某个Python安装目录中的Python解释器,再执行main.py,使用的就会是我们指定的Python安装目录中的Python解释器

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5675.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注