平时我们在使用Python的时候,有可能会使用多个Python环境,有的是Python版本不同,有的则是Python的第三方模块使用情况不同,因此,我们需要对Python进行虚拟环境管理。
使用Python虚拟环境的好处在于,一方面它能为项目的运行提供完整的环境支持,比如Python版本,第三方模块等,另一方面它能为项目的运行指定所需的环境,避免了Python不同版本和不同第三方模块之间的干扰。Python的虚拟环境管理有多种实现方式,比如Conda
和Python自带的管理工具virtualenv
。
本文将会介绍如何使用Conda来管理Python虚拟环境。
使用Conda管理Python虚拟环境
首先需要确认在你的系统中安装了Anconda
。检查系统中是否安装Anconda
的命令为conda -V
,如下:
Conda的常用命令如下:
conda list # 查看安装了哪些包
conda env list # 查看安装了哪些虚拟环境
conda update conda # 检查更新当前conda
使用Conda来创建虚拟环境
的命令如下:
conda create -n your_env_name python=X.X
其中,your_env_name是虚拟环境的名称,自己随便指定。python后面跟指定的Python版本,可以是2.7, 3.6, 3.7等。
创建好了自己的虚拟环境之后,就可以来激活虚拟环境
,命令如下:
Linux: source activate your_env_name或者conda activate your_env_name
Windows: activate your_env_name
如果需要在虚拟环境中安装第三方模块,则命令如下:
conda install -n your_env_name [package]
最后是退出虚拟环境
,命令如下:
Linux: source deactivate或者conda deactivate
Windows: deactivate
演示
在这部分中,我们将创建两个虚拟环境py2-lmj
和py3-lmj
,一个是Python2环境,一个是Python3环境,并展示如何使用这两个环境。
我们分别在py2-lmj
和py3-lmj
这两个环境中演示1/2的结果以及输出字符串"hello world!"。
[vagrant@localhost ~]$ conda create -n py3-lmj python=3.6
[vagrant@localhost ~]$ conda create -n py2-lmj python=2.7
[vagrant@localhost ~]$ conda env list
# conda environments:
#
py2-lmj /home/vagrant/.conda/envs/py2-lmj
py3-lmj /home/vagrant/.conda/envs/py3-lmj
base * /usr/local/Anaconda3
rasa_env /usr/local/Anaconda3/envs/rasa_env
tfgpu /usr/local/Anaconda3/envs/tfgpu
[vagrant@localhost ~]$ conda activate py3-lmj
(py3-lmj) [vagrant@localhost ~]$ python
Python 3.6.10 |Anaconda, Inc.| (default, May 8 2020, 02:54:21)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0.5
>>> print("hello world!")
hello world!
>>> print "hello world!"
File "<stdin>", line 1
print "hello world!"
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("hello world!")?
>>> quit()
(py3-lmj) [vagrant@localhost ~]$ conda deactivate
[vagrant@localhost ~]$ conda activate py2-lmj
(py2-lmj) [vagrant@localhost ~]$ python
Python 2.7.18 |Anaconda, Inc.| (default, Apr 23 2020, 22:42:48)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0
>>> print("hello world!")
hello world!
>>> print "hello world!"
hello world!
>>> quit()
(py2-lmj) [vagrant@localhost ~]$ conda deactivate
本次分享到此结束,感谢大家的阅读~