Python之利用Conda管理虚拟环境

2020-08-27  本文已影响0人  山阴少年

  平时我们在使用Python的时候,有可能会使用多个Python环境,有的是Python版本不同,有的则是Python的第三方模块使用情况不同,因此,我们需要对Python进行虚拟环境管理。
  使用Python虚拟环境的好处在于,一方面它能为项目的运行提供完整的环境支持,比如Python版本,第三方模块等,另一方面它能为项目的运行指定所需的环境,避免了Python不同版本和不同第三方模块之间的干扰。Python的虚拟环境管理有多种实现方式,比如Conda和Python自带的管理工具virtualenv
  本文将会介绍如何使用Conda来管理Python虚拟环境。

使用Conda管理Python虚拟环境

  首先需要确认在你的系统中安装了Anconda。检查系统中是否安装Anconda的命令为conda -V,如下:

查看Conda版本

  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-lmjpy3-lmj,一个是Python2环境,一个是Python3环境,并展示如何使用这两个环境。
  我们分别在py2-lmjpy3-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

  本次分享到此结束,感谢大家的阅读~

上一篇下一篇

猜你喜欢

热点阅读