安装 virtualenv

简介:

virtualenv是将Python的实际运行环境进行虚拟的工具包。   

使用pip install命令安装的功能包,均会存放在/usr/local/lib/python2.7目录下。一旦安装了各种各样的功能包,当我们想让不同的Python应用程序在同一个环境开发时,就会发现自己根本分不清哪个包对应哪个应用程序。virtualenv就是在这样的情况下,对多种不同的Python运行环境进行管理的一个工具。


安装virtualenv   

1
$ pip  install  virtualenv


安装virtualenv之后,使用help命令   

1
$ virtualenv --help


Virtualenv的使用方法


使用pip freeze确认已经安装好的所有包的版本信息,当输入命令后,可看到所有包的清单,这些就是已经安装在/usr/local/lib/python2.7下的所有包的信息。   

1
$ pip freeze


接着,用virtualenv创建一个供新开发的Python应用程序运行的虚拟环境。先在home目录下建立一个工作目录,在该目录中建立一个虚拟运行环境。


使用virtualenv建立虚拟运行环境,会在work目录下建立一个新的env目录,这就是虚拟环境目录。   

1
2
3
4
export  VIRTUALENV_USE_DISTRIBUTE= true    
mkdir  ~ /work    
cd  ~ /work    
$ virtualenv  env


VIRTUALENV_USE_DISTRIBUTE是向Distribute明示Python运行信息的环境变量(即发布Python应用时,告知虚拟环境中相关的运行信息)。如果在开发过程中,希望所开发的Python应用程序有“不兼容旧版本的Python”或者“兼容最新版本Python”的要求,最好对该环境变量进行设定。为了不在每次登录都输入这样的命令,我们可以在登录的shell配置中加入下面的这条语句。   

1
export  VIRTUALENV_USE_DISTRIBUTE= true


Distribute会根据这个环境变量是否存在,判断虚拟运行环境的配置有效或无效。因此在不适用Distribute的时候,建议用unset命令取消该环境变量。


NOTE:   
virtualenv的默认设置是创建虚拟运行环境时不使用/usr/local/lib/python2.7/site-packages下的模块或者包。相反,当我们需要使用系统下的模块或者包来创建虚拟运行环境的话,可以使用--system-site-packages选项:    

1
$ virtualenv --system-site-packages  env

--system-site-packages是在virtualenv版本1.7之后添加的,包括1.6在内的之前版本都默认使用系统下的模块或者包来创建虚拟运行环境。因此,如果在1.6以前的版本下建立最小虚拟运行环境,可以使用--no-site-packages选项。    

1
$ virtualenv --no-site-packages  env


虚拟运行环境激活,当使用了source命令后,虚拟运行环境信息开始生效。   

1
source  env /bin/activate


virtualenv被激活的状态   

1
( env )        :~ /work $


当虚拟运行环境被激活后,再一次使用pip freeze命令来检查安装好的包版本信息。


检查安装好的包版本信息   

1
( env ) $ pip freeze


如此以来,很容易把握在开发Python应用程序时需要安装的包和模块,从而尽可能减少其他不相关包和模块给应用程序开发带来的未知影响。


退出虚拟运行环境   

1
( env ) $ deactivate


当使用virtualenv建立虚拟运行环境来开发应用程序时,千万不要忘了先激活虚拟运行环境。当不再需要该虚拟环境时(这里值名为env的虚拟环境),可以直接使用rm等命令将对应的目录删除。


在虚拟环境安装Python套件


Virtualenv 附带有pip安装工具,因此需要安装的套件可以直接运行:

pip install [套件名称]


进入虚拟环境后,先执行which pip,确认pip是在虚拟环境下的。   

如果系统系统环境下已经安装了该套件,则虚拟环境将不会被安装。    

如果想在虚拟环境下安装该套件(而系统环境上已安装了该套件),只有先从系统环境卸载该套件后,删除系统环境目录/usr/lib/python2.7/dist-packages下的相应包文件夹,再在虚拟环境重新安装该套件。    

如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中。


为了避免发生此事,可以在~/.bashrc文件中加上:   

1
export  PIP_REQUIRE_VIRTUALENV= true

或者让在执行pip的时候让系统自动开启虚拟环境:   

1
export  PIP_RESPECT_VIRTUALENV= true















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1701442  ,如需转载请自行联系原作者


相关文章
|
8月前
conda 环境安装
conda 环境安装
85 0
|
2月前
|
持续交付 开发工具 开发者
pip与virtualenv
【5月更文挑战第24天】本文介绍了Python开发中的模块和包管理工具pip与virtualenv。pip是Python的包管理器,用于安装、卸载、更新和列出包。virtualenv则提供了一个创建隔离的Python环境的工具,便于管理不同项目间的依赖关系。文章还提到了更高级的工具pipenv,它整合了pip和virtualenv的功能,支持自动化依赖管理、环境锁定,以及与Git、CI、Docker等的集成。通过学习和实践这些工具,开发者能更高效地管理Python项目。
11 1
|
Python
Anaconda虚拟环境安装Python库与Spyder
本文介绍在Anaconda中,为Python的虚拟环境安装第三方库与Spyder等配套软件的方法~
380 1
Anaconda虚拟环境安装Python库与Spyder
|
Shell Python
python虚拟环境(venv、virtualenv)及虚拟环境管理工具(virtualenvwrapper)
  Python应用开发时,本机的Python环境中安装各种各样的包的话,随着项目的增加,每次运行时都需要处理一下各种不同版本的依赖库,而且python版本也可能使用的不同,这样做很耗时。这就需要虚拟出不同的Python版本的环境,可以让虚拟环境专门为某一个应用而存在,且允许在虚拟环境中安装各种包。而且不影响本机大的python环境,便于开发环境和生产环境的管理。
384 0
|
Docker Python 容器
virtualenv
virtualenv
67 0
|
Python
pip、virtualenv、pyenv、pipenv等包管理工具简单区分
pip、virtualenv、pyenv、pipenv等包管理工具简单区分
pip、virtualenv、pyenv、pipenv等包管理工具简单区分
|
JSON 监控 安全
Python开发还在用virtualenv?是时候了解下pipenv了
过去大家经常使用virtualenv来创建虚拟环境,通过pip freeze生成requirements.txt文件,然后通过pip install -r requirements.txt进行项目模块的管理与安装。这样的安装存在很多问题,比如每次更新模块后,需要手动的重新生成依赖文件,等等问题。但看过今天的文章,你会更喜欢pipenv这款工具。
189 0
|
JSON 监控 安全
Python开发还在用virtualenv?不如了解下pipenv...
过去大家经常使用virtualenv来创建虚拟环境,通过pip freeze生成requirements.txt文件,然后通过pip install -r requirements.txt进行项目模块的管理与安装。这样的安装存在很多问题,比如每次更新模块后,需要手动的重新生成依赖文件,等等问题。但看过今天的文章,你会更喜欢pipenv这款工具。
347 0