python高效开发实战配套源文件_Python高效工程开发之环境隔离——Virtualenv与Wrapper简明教程...

“人心生一念,天地悉皆知,善恶若无报,乾坤必有私。”

——吴承恩《西游记》

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

f10b9da2e99113ab93ddb8fa4aa47044.png

Virtualenv——建立一个虚拟的python环境,一个专属于项目的python环境。

一、基本使用

[注]如果使用 Python 3.4及以上版本,可以使用标准库内置的 venv 模块替代 virtualenv,两者的使用方式基本相同,唯一不同的是创建虚拟环境的方式。

通过pip安装virtualenv:

pip install virtualenv

[注]如果安装包的时候速度太慢,可以考虑设置 PyPI 国内镜像。

国内有多个知名镜像站,如清华、中科大。

以清华为例:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

清华Tuna镜像站官方pypi帮助文档:

https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

测试安装:

virtualenv --version

为一个工程项目搭建一个虚拟环境:

cd my_projectvirtualenv my_project_env

另外,如果存在多个python解释器,可以选择指定一个Python解释器(比如python2.7),没有指定则由系统默认的解释器来搭建:

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

这将会在当前的目录中创建一个名为my_project_env的文件夹,这是一个独立的python运行环境,包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境来。

要开始使用虚拟环境,需要激活脚本将其激活:

Windows(CMD.exe)使用下面的命令:

.\my_project_env\scripts\activate

my_project_env替换为自己的虚拟环境名称。

Linux 和 macOS(bash/zsh)使用下面的命令:

source ./my_project_env/bin/activate

退出虚拟环境:

deactivate

激活虚拟环境以后,命令行提示符(即PS1环境变量)会显示当前虚拟环境的名字:

(my_project_env) $

查看当前安装版本

pip freeze

另外:

pip freeze > requirements.txt

这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。这将会使另一个不同的开发者(或者需要重新创建这样的环境) 在以后安装相同版本的相同包变得容易。

pip install -r requirements.txt

requirements.txt可以帮助确保安装、部署和开发者之间的一致性,类似于nodejs项目中package.json。

如果需要手动开发依赖和生产依赖,可以手动把开发相关的依赖放到单独的文件,比如 requirements-dev.txt。

使用 pip 管理依赖(以 Flask 为例):

安装依赖:

pip install flask

更新依赖:

pip install --upgrade flask

卸载依赖:

pip uninstall flask

查看某个依赖的详细信息

pip show flask

列出所有依赖。

pip list 

二、virtualenvwrapper

(仅限基于POSIX的系统,包括MacOS和Linux,但不包括Windows)

它把虚拟环境进行包装,进一步提高开发效率。

1、安装

安装(确保 virtualenv 已经安装了):

pip install virtualenvwrapperexport WORKON_HOME=~/Envs  #设置环境变量mkdir -p $WORKON_HOME #创建虚拟环境管理目录

默认virtualenvwrapper安装在python解释器中的site-packages,实际上需要先运行virtualenvwrapper.sh文件:

找到virtualenvwrapper.sh的路径:

find / -name virtualenvwrapper.shsource /找到的路径/virtualenvwrapper.sh

每次要想使用virtualenvwrapper 工具时,都必须先激活virtualenvwrapper.sh,另外,如果创建前要将即将的环境保存到Envs中,就要先设置一下环境变量:

export WORKON_HOME=~/Envs

[注]对于Windows有virtualenvwrapper-win作为独立项目

在Windows中,WORKON_HOME默认的路径是%USERPROFILE%\Envs。

2、基本使用

创建一个虚拟环境:

mkvirtualenv project_env

这会在Envs 中创建 project_env虚拟环境

选择一个python解释器来搭建:

mkvirtualenv env  --python=python2.7

在虚拟环境上工作:

workon project_env

[注]virtualenvwrapper 提供环境名字的tab补全功能。

workon 也能停止当前所在的环境,所以可以在环境之间快速的切换。

3、停止虚拟环境

deactivate

4、删除:

rmvirtualenv project_env

3、其他常用命令

lsvirtualenv    #列举所有的环境。cdvirtualenv    #导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages。cdsitepackages   # 和上面的类似,但是是直接进入到 site-packages 目录中。lssitepackages     #显示 site-packages 目录中的内容。

参考资料[1]廖雪峰的virtualenv教程
https://www.liaoxuefeng.com/wiki/1016959663602400/1019273143120480
[2]virtualenv的介绍及基本使用

https://blog.csdn.net/u012206617/article/details/90294421

欢迎大家关注我的全新CSDN账号,将呈现细分化知识整理与精准导航,正在持续施工中。

de7c6342b8a3d5be0b1e89386efaf64a.png

导航页:

https://blog.csdn.net/weixin_42826353/article/details/107884463

 本文由公众号技术实战派原创,遵照Creative-Course4.0协议发表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值