Python虚拟环境virtualenv安装和使用

发布时间:2019-07-3 17:02--阅读:326--评论:0条

1.virtualenv介绍

在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰,如下所示。

安装virtualenv

若要使用python虚拟环境进行开发,首先需要安装virtualenv。
命令:pip install virtualenv
安装虚拟环境

命令:virtualenv venv

如果要创建python2的环境的话,命令为

virtualenv -p /usr/bin/python2.7 env2.7

如果要创建python3的环境话,命令为

virtualenv -p /usr/bin/python3.5 env3.5

windows如下:

virtualenv -p C:\Users\WJ\AppData\Local\Programs\Python\Python36\python.exe env3.6

如果要创建一个不带已经安装到系统的中第三方包的环境,可以加上参数 --no-site-packages,这样就可以得到一个不带任何第三方包的干净的python运行环境

命令为

virtualenv --no-site-packages myenv
激活虚拟环境

命令:venv\scripts\activate

注:如无法激活,直接进入到activate所在目录,使用.\activate激活
查看所有虚拟环境和启动虚拟环境

lsvirtualenv
workon
workon env
退出虚拟环境

deactivate

将指定路径添加到sitepackages目录下的virtualenv_path_extensions.pth中可以直接进行import,在启动虚拟环境时则添加到虚拟环境中,在未启动则添加到默认python环境中

add2virtualenv path
其他命令

cdproject: 切换目录到当前指定的project目录下, 使用前需要使用setprojectdir进行设置
cdvirtualenv: 切换到当前虚拟环境目录下
cdsitepackages: 切换到当前虚拟环境的sitepackages下
lssitepackages: 查看当前虚拟环境的sitepackages目录下的包
setprojectdir path: 设置project目录
toggleglobalsitepackages:启用/关闭系统sitepackages
whereis file:查看文件路径

用法:

$ virtualenv [OPTIONS] DEST_DIR
选项:
–version
显示当前版本号。
-h, –help
显示帮助信息。
-v, –verbose
显示详细信息。
-q, –quiet
不显示详细信息。
-p PYTHON_EXE, –python=PYTHON_EXE
指定所用的python解析器的版本,比如 –python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 默认使用的是当前系统安装(/usr/bin/python)的python解析器
–clear
清空非root用户的安装,并重头开始创建隔离环境。
–no-site-packages
令隔离环境不能访问系统全局的site-packages目录。
–system-site-packages
令隔离环境可以访问系统全局的site-packages目录。
–unzip-setuptools
安装时解压Setuptools或Distribute
–relocatable
重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。
–distribute
使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。
–extra-search-dir=SEARCH_DIRS
用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。
–never-download
禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。
–prompt==PROMPT
定义隔离环境的命令行前缀。

Win10下提示权限错误。
错误信息:
.\activate : 无法加载文件 H:\envproject\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt
ps:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
解决办法:
1.以管理员身份打开PowerShell
2.执行命令set-executionpolicy remotesigned

使用pycharm创建虚拟化环境

来作为本示例的编辑器,选择python2.7工作环境,新建工程virtualenvDemo,在控制台中输入命令:

virtualenv venv

这时候便会在当前的项目中创建venv文件夹,为当前项目的虚拟python运行环境,如下:

我本机此时默认的python环境为python2.7,那么此时创建的虚拟环境就是以python2.7创建的虚拟化环境,如果需要选择一个python解释器来创建虚拟化环境,命令则为:

virtualenv -p /usr/bin/python2.7 venv

此时还需将当前工程的interpreter改为当前的虚拟环境,要不然会不起作用,这个不再详述。

启用

激活虚拟化环境的命令为:

source venv/bin/activate

激活后,在控制台会有一个带有(venv)的标志,如下:
安装依赖

在以上完成之后就可以通过命令pip install 来安装python包了,这里安装python包就不需要root权限了,直接就可以安装十分方便。在venv的环境中,使用pip安装的包都不会再是全局性的包,只会在当前的虚拟环境中起作用,避免了污染系统环境。
3.4 退出当前系统环境

在控制台中输入命令deactivate后,就会推出当前的venv虚拟化环境。

(.virtualenv) # deactivate

# exit

微信公众号ID:feiutech

评论列表

共0条评论

我要评论

用户名:
邮箱: