自学Python第二十五天- Pipenv 虚拟环境和包管理工具

37 篇文章 4 订阅
33 篇文章 6 订阅


pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。

之所以要为每一个项目分别创建一个虚拟环境,因为如果每个项目都共用全局的包,假如每个项目用到的包不一样,就需要为每一个项目分别创建一个虚拟环境,这样每个项目可以用不同的包来开发。

安装 Pipenv

Pipenv 可以使用 pipy 工具进行安装或更新

pip install pipenv
pip install --upgrade pipenv
需注意的是,Pipenv 会通过环境变量来配置虚拟环境,所以要将 python 和 python 的 script 添加到环境变量中。

配置虚拟环境

到项目目录,为项目配置虚拟环境

 pipenv --two  # 使用当前系统中的Python2 创建环境
 pipenv --three  # 使用当前系统中的Python3 创建环境
 ​
 pipenv --python 3  # 指定使用Python3创建环境
 pipenv --python 3.6  # 指定使用Python3.6创建环境
 pipenv --python 2.7.14  # 指定使用Python2.7.14创建环境

注意:

  1. 创建环境时应使用系统中已经安装的、能够在环境变量中搜索到的Python 版本,否则会报错。
  2. 每次创建环境都会在当前目录下生成一个名为Pipfile文件,用来记录刚创建的环境信息,如果当前目录下之前存在该文件,会将其覆盖。

另外可以修改依赖镜像,想要安装依赖包速度快点,修改Pipfile文件里面的源(直接修改url地址)

https://mirrors.aliyun.com/pypi/simple/ #阿里
https://pypi.tuna.tsinghua.edu.cn/simple/ #清华
http://pypi.douban.com/ #豆瓣
http://pypi.hustunique.com/ #华中理工大学
http://pypi.sdutlinux.org/ #山东理工大学
http://pypi.mirrors.ustc.edu.cn/ #中国科学技术大学

安装虚拟环境

设置好后安装虚拟环境

pipenv install

安装好虚拟环境后可以生成 Pipfile.lock 文件,该文件是通过hash算法将包的名称和版本,及依赖关系生成哈希值,可以保证包的完整性。另外也可以在安装好的环境中直接生成 lock 文件

pipenv lock     // 生成lockfile

项目提交时,可将Pipfile 文件和Pipfile.lock文件一并提交,待其他开发克隆下载,根据此 Pipfile 运行命令 pipenv install --dev 可以生成自己的虚拟环境。

激活(启动)虚拟环境

启动当前目录下的虚拟环境,如果当前目录下无虚拟环境则会在当前目录下自动创建虚拟环境。启动了虚拟环境,执行python脚本才能正确找到依赖模块。

pipenv shell

环境经激活后,会发现命令提示符变了,此时成功的进入虚拟环境。在此环境中可以查看安装的包

pip list

安装和卸载包

安装或卸载依赖模块到虚拟环境中,注意不再使用 pip 进行安装卸载了

 pipenv install XXX  # 安装XXX模块并加入到Pipfile
 pipenv install XXX==1.11  # 安装固定版本的XXX模块并加入到Pipfile
 pipenv install xxx --dev # 仅仅安装开发环境下的依赖包(项目部署上线不需要的包)
 ​
 pipenv uninstall XXX  # 卸载XXX模块并从Pipfile中移除
 pipenv uninstall --all  # 卸载全部包并从Pipfile中移除
 pipenv uninstall --all-dev  # 卸载全部开发包并从Pipfile中移除

可以查看包的依赖关系

pipenv graph

退出虚拟环境

退出当前虚拟环境,命令行提示符前缀消失

exit

删除虚拟环境

pipenv --rm

使用 Pipenv

在其他的 python 开发环境中,打开此项目文件可以正常的进行开发,需注意安装包时使用 pipenv install 命令安装包即可。

如果有提示在此系统上禁止运行脚本,主要是由于没有权限执行脚本,要修改策略才行。以管理员权限运行 powershell(windows 终端),然后执行 set-executionpolicy remotesigned 修改策略,然后再次加载项目就可以了。

其他命令

包的更新

查看所有需要更新的包

pipenv update --outdated

更新所有包

pipenv update

更新指定包

pipenv update <包名>

查看虚拟环境

pipenv --venv

查看项目路径

pipenv --where

查看本项目的 python 解释器

pipenv --py

启动 python 应用

不激活虚拟环境下使用虚拟环境中的解释器执行 python 程序

pipenv run python test.py

在虚拟环境中执行 python 程序

pipenv shell
python test.py

根据 Pipfile.lock 安装虚拟环境

pipenv install # 如果不需要与Pipfile.lock版本一致,则执行pipenv install
pipenv sync # 如果要安装跟Pipfile.lock版本一致的包,则执行pipenv sync
pipenv install --dev # 安装开发环境

注:如果没有 Pipfile.lock 文件则会创建文件并安装初始化环境

兼容 requirements.txt 文件

pipenv可以像virtualenv一样用命令生成 requirements.txt 文件

pipenv lock -r --dev > requirements.txt

pipenv也可以通过requirements.txt安装包

pipenv install -r requirements.txt
pipenv install -r --dev requirements.txt  # 只安装开发包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值