python虚拟环境

发布时间:2022-01-13 09:47:35 人气:114 作者:多测师

  我们在写的Python程序的时候,经常会用到非标准库的包和模块,比如要求等非常有用的第三方包和模块。有时候也会用到某个包和模块的特定版本,可能是这个特定的版本修复了某个bug,或者是依赖的接口只有该版本有。也可能系统安装了Python 3.6,但应用程序要求3.7或Python 2.7。

  这些情况注定了对多个Python及其库的需求。如果我们写的程序依赖某个库的1.0的版本,而系统安装的是1.2的版本,应用程序就无法运行;如果应用程序要求Python 2.7,则它在Python3上就可能会保存。

  要解决这些不同需求的问题就是使用虚拟环境,它是一个目录树,其中安装特定的Python的版本及需要的库的版本。这样,不同的应用可以使用不同的虚拟环境来满足其运行条件。不同虚拟环境内部的库版本涉及不会影响其它虚拟环境。

  Python的虚拟环境的创建和使用

  在Python 2时代,虚拟环境管理用的是virtualenv及其封装virtuaalenvwrapper这两个包(通过pip install可以安装)。它们也支持在Python3下使用。virtuaalenvwrapper是使用shell开发的,因此不支持Windows。支持Windows的叫做virtuaalenvwrapper-win。

  从Python 3.3开始,引入了新的库venv来进行虚拟环境的管理,详见PEP-405的描述。它的很多操作都和virtualenv类似。pyvenv是Python 3.3和3.4中创建虚拟环境的推荐工具,但是在Python 3.6中已经弃用,之后的版本还是用venv。

python虚拟环境

  使用venv创建³³虚拟环境还是很容易的,将venv模块作为脚本运行并确定虚拟环境存放的路径即可:

  python3 -m venv /path/to/myenv

  条这将命令创建³³ /path/to/myenv目录,并在其中创建包含的Python解释器,标准库和各种支持文件的目录:

  myenv

  ├── bin

  │ ├── activate

  │ ├── activate.csh

  │ ├── activate.fish

  │ ├── easy_install

  │ ├── easy_install-3.6

  │ ├── pip

  │ ├── pip3

  │ ├── pip3.6

  │ ├── python -> python3.6

  │ ├── python3 -> python3.6

  │ └── python3.6 -> /usr/bin/python3.6

  ├── include

  ├── lib

  │ └── python3.6

  │ └── site-packages

  ├── lib64 -> lib

  └── pyvenv.cfg

  创建虚拟环境后,就可以激活并使用它在Linux的MACOS和上,运行:

  source /path/to/myenv/bin/activate

  (脚本这个的英文为bash shell关系编写的,你如果使用的的英文csh或fish壳,使用就要activate.csh或activate.fis脚本来激活)。

  激活虚拟环境后,你的壳提示就会显示你正在使用的虚拟环境的名称,你就可以使用该虚拟环境下的Python的及相关的库了:

  $ source myenv/bin/activate

  (myenv) veelion@gtx:~/p2/tutorial/md_Python/codes$ which python

  /home/veelion/p2/tutorial/md_Python/codes/myenv/bin/python

  (myenv) veelion@gtx:~/p2/tutorial/md_Python/codes$ python

  Python 3.6.8 (default, Dec 24 2018, 19:24:27)

  [GCC 5.4.0 20160609] on linux

  Type "help", "copyright", "credits" or "license" for more information.

  >>> import sys

  >>> sys.path

  ['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/veelion/p2/tutorial/md_Python/codes/myenv/lib/python3.6/site-packages']

  >>>

  以上内容为大家介绍了python虚拟环境,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/

上一篇:python的进程
下一篇:学习python的理由
返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线