欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux和windows使用 virtualenv 虚拟独立 Python 环境

程序员文章站 2022-05-29 08:06:35
...

简介

在开发不同的应用时,我们可能需要不同的 Python 版本,同时可能还需要处理包的依赖、版本和间接权限问题。在同系统中,要解决这些问题往往非常棘手。在 Python 的开发环境中,为解决这样的问题最常用的方法是使用 virtualenv 包。 Virtualenv 是一个用来创建独立的 Python 环境的包,就类似于一个沙箱,将开发运行环境与系统隔离开来。

用 VirtualEnv 创建的多个 Python 环境相互独立,互不影响,它能够:

  • 在没有权限的情况下安装新套件
  • 不同应用可以使用不同的套件版本
  • 套件升级不影响其他应用

Linux下使用 virtualenv 虚拟独立 Python 环境

#安装virtualenv
$ pip install virtualenv

#查看virtualenv版本       
$ virtualenv --version

#在环境目录安装开发环境,准备对哪个目录进行虚拟,就先进入到这个目录下        
$ cd 工作目录    

#创建虚拟环境,其中venv为虚拟环境名称,可以更改               
$ virtualenv venv            

#也可以加上 -p 指定python版本,其中/usr/local/bin/python3.6/python.exe 为python目录,venv为虚拟环境名称
$ virtualenv -p /usr/local/bin/python3.6/python.exe venv

#**虚拟环境
$ source venv\bin\activate

#退出虚拟环境
deactivate

创建过程输出如下信息:

Running virtualenv with interpreter /usr/bin/python2
New python executable in kvenv/bin/python2
Also creating executable in kvenv/bin/python
Installing setuptools, pip...done.

创建完成后会生成一个 venv 目录。

还有一点比较重要,在默认情况下,所有安装在系统范围内的包对于 virtualenv 是可见的。 这意味着如果你将 simplejson 安装在您的系统 Python 目录中,它会自动提供给所有的 virtualenvs 使用。 这种行为可以被更改,在创建 virtualenv 时增加 --no-site-packages 选项的 virtualenv 就不会读取系统包,如下:

$ virtualenv kvenv –no-site-packages

用如下命令可以查看当前环境安装了哪些包:

$ pip freeze
#或者
$ pip list

window下使用 virtualenv 虚拟独立 Python 环境

#安装virtualenv
pip install virtualenv

#查看virtualenv版本       
virtualenv --version

#在环境目录安装开发环境,准备对哪个目录进行虚拟,就先进入到这个目录下        
cd 工作目录    

#创建虚拟环境,其中venv为虚拟环境名称,可以更改               
virtualenv venv            

#也可以加上 -p 指定python版本,其中C:\python\python3.7\python.exe 为python目录
virtualenv -p C:\python\python3.7\python.exe venv

#**虚拟环境
cd venv\Scripts
activate

#退出虚拟环境
deactivate

参考:http://kuanghy.github.io/2015/12/04/virtualenv

相关标签: virtualenv