虚拟环境搭建相关

2019-04-10  本文已影响0人  土卡拉

虚拟环境工具对比

目前接触的开发环境相关:

为什么需要使用虚拟开发环境?

1、主要原因:
为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。
python2和3存在不小的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存(Python虽然现在比较火,但是也经历了)。在实际工作过程中,我们可能会同时用到Python 2和Python 3,因此,也需要经常在Python 2和Python 3之间进行来回切换。这就需要对python的版本进行管理,除此之外还需要对不同的软件包进行管理。大部分情况下,对于开源的库我们使用最新版本即可。但是,有时候可能需要对相同的Python版本,在不同的项目中使用不同版本的软件包。

2、简而言之:
我们在做不同项目(比如后面用的django1.11.4和在最新的2点几)的时候需要不同的项目依赖。

虚拟环境工具

pyenv-virtualenv

第二种是安装git之后,用git安装,不过配置环境变量时上面语句需要用echo 追加(>>)写入配置文件

2、基本使用
使用pyenv安装Python

注意:
    - 使用pyenv管理python,必须是用pyenv安装的python才行,系统以前有的,需要重新用pyenv安装
    - 使用pip安装第三方模块时会安装到~/.pyenv/versions/xxx下,不会和系统模块发生冲突;
    - 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。
    - 配置环境变量(写入方式注意与下载方式结合,不然会出诡异的错误) 

virtualenv本身是一个独立的工具,用户可以不使用pyenv单独使用virtualenv。但是,如果使用了pyenv,就需要安装pyenv-virtualenv插件而不是virtualenv软件来使用virtualenv的功能。(https://github.com/yyuu/pyenv-virtualenv

virtualenv-virtualenvwrapper

1、安装
pip install virtualenv
pip install virtualenvwrapper

2、查看路径
type virtualenvwrapper.sh

3、配置
vi ~/.bashrc
# 文件最后添加:
export WORKON_HOME=~/.virtualenv
source /usr/local/bin/virtualenvwrapper.sh
(若在pip下载后,找不到/usr/local/bin/virtualenvwrapper.sh路径的文件,使用 find / -name virtualenvwrapper.sh 寻找该文件路径,原因可能是因为之前安装过pyenv-virtualenv)
4、创建对应目录
mkdir ~/.virtualenv

5、刷新环境
source ~/.bashrc

6、创建虚拟环境
mkvirtualenv axf -p /usr/bin/python3

7、简单使用

pipenv(号称最好用的python虚拟环境和包管理工具)

为什么说它最好?
我们常用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候处理包之间的依赖总存在问题
github上星星数:
virtualenv 3K
pyenv 14.9K
pipenv 16.5K

pipenv主要有以下特性:

(1)pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。

(2)过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放将包的依赖关系,查看依赖关系是十分方便。

(3)各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。。

(4)通过加载.env文件简化开发工作流程。

(5)支持Python2 和 Python3,在各个平台的命令都是一样的。

1、安装
pip/pip3 install pipenv
2、使用

指明前Pipfile显示
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
requests = "*"

[requires]
python_version = "3.5"

指明后Pipfile显示
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
requests = "*"

[packages]
requests = "*"

[requires]
python_version = "3.5"

项目地址:https://github.com/pypa/pipenv
文档地址:https://docs.pipenv.org/

上一篇下一篇

猜你喜欢

热点阅读