您现在的位置是:首页 > 正文

Python虚拟环境管理之 pipenv

2024-02-01 01:55:29阅读 6

在使用Python语言的时候我们使用pip来安装第三方包,但是由于pip的特性,系统中只能安装每个包的一个版本。但是在实际项目开发中,不同项目可能需要第三方包的不同版本,Python的解决方案就是虚拟环境。顾名思义,虚拟环境就是虚拟出来的一个隔离的Python环境,每个项目都可以有自己的虚拟环境,用pip安装各自的第三方包,不同项目之间也不会存在冲突。创建虚拟环境需要一些工具,本文将会介绍这些工具。
pipenv 是Kenneth Reitz大神的作品,提供Python的各个版本间的管理,各种包管理。个人觉得是virtualenv pip等工具的合体。下面让我们来看看功能吧。

pipenv:

安装pipenv:pip install pipenv

pipenv创建虚拟环境:

1.创建文件夹:mkdir cr_pipenv

2.进入文件夹:pipenv install

3.初始化虚拟环境:pipenv install (加入–python指定python版本 ,如3.6 pipenv install --python 3.6)

3.1 pipenv install 包名 (安装第三方依赖包)
pipenv install requests
3.2 pipenv install 包名 --dev (创建虚拟环境到开发环境包)

3.3 pipenv shell 进入虚拟环境。使用exit()可退出虚拟环境

出现下图两个文件就是创建成功
在这里插入图片描述
Pipfile文件以及PIPfile.lock文件

Pipfile:在这里插入图片描述url: 首先我们看到的就是url,这个默认是国外源的地址,这里我们将他改成国内源,这样安装会快一点。这里我给大家提供了几个国内镜像源的地址,大家可以自行更改,我选择的是清华大学的。
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/

PIPfile.lock:

注意:PIPfile.lock里面的文件不建议修改,采用hash算法加密
主要记录一些包名的内容以及版本号,方便后期恢复
在这里插入图片描述

pipenv复制环境:

复制这两个文件,到新的环境下,在运行pipenv install

这里需要主要的是:你使用pipenv恢复环境时,他只会恢复packages中的包名,不会恢复我们要恢复pageages-dev中的包名是需要在加一个参数
pipenv install XXXX -dev (恢复部分包名)
pipenv install -dev (恢复全部包名)

常用命令一览:
1 pipenv --where 列出本地工程路径
2 pipenv --venv 列出虚拟环境路径
3 pipenv --py 列出虚拟环境的Python可执行文件
4 pipenv install 安装包(创建虚拟环境)
5 pipenv install moduel --dev 在开发环境安装包
6 pipenv graph 查看包依赖
7 pipenv lock 生成lockfile
8 pipenv install --dev 安装所有开发环境包
9 pipenv uninstall --all 卸载所有包
10 pipenv --rm 删除虚拟环境
11 pipenv run python xxx.py 虚拟环境运行python
12 pipenv --rm 删除虚拟环境
13 pipenv uninstall 包名 删除部分包

常用的 pipenv 管理模块和包命令

# 在虚拟环境中安装模块或者包,在安装是指定 --dev参数,则只安装到[dev-package]中
# 如果没有指定 --dev ,那么就会安装到 [package]中
pipenv install --dev request

# 卸载虚拟环境模块包
pipenv uninstall [package name]

# 查看安装包及依赖关系
pipenv graph

# 生成requirements.txt 文件
pipenv lock -r --dev > requestments.txt

# 通过requestments.txt 安装环境
pipenv install -r requirements.txt

# 删除虚拟环境
pipenv --rm

# 列出本地工程路径
pipenv --where

# 列出虚拟环境路径
pipenv -- venv

# 列出虚拟环境的Python可执行文件
pipenv -py

# 生成lock文件
pipenv lock

# 激活虚拟环境
pipenv --shell

# 退出虚拟环境
exit

原文链接:https://blog.csdn.net/weixin_43865008/article/details/119898756

网站文章

  • hua图软件 mac_新入手Mac系统需要做的两件事

    hua图软件 mac_新入手Mac系统需要做的两件事

    最近有小伙伴们提问,新买的Mac 电脑,想要下载点软件,要么下载了软件提示:“xxx”因为出现问题而无法打开。请与开发者联系,还有的小伙伴是这样的提示“xxx.app已损坏,打不开。您应该将它移到废纸...

    2024-02-01 01:55:03
  • Git实操大全(最全操作)

    Git实操大全(最全操作)

    目录1.git常用命令1.1用户签名在此文件中查看(全局的)1.2 git init初始化本地库1.3 git status查看本地库1.4 git add 添加到暂存区1.5 添加到本地库 git ...

    2024-02-01 01:54:56
  • Liunx安装MySQL解压版

    liunx安装解压版教程;

    2024-02-01 01:54:49
  • 【C++】类与类之间的 5 种关系

    【C++】类与类之间的 5 种关系

    该文章就是简要的总结一下面向对象的:类与类之间的关系,熟悉类与类之间的关系,能够帮助我们更好的设计出合理的类;: A继承B,说明A is B;

    2024-02-01 01:54:20
  • vue中element-ui下拉框数据改变后,页面不刷新问题

    vue中element-ui下拉框数据改变后,页面不刷新问题

    vue中element-ui下拉框数据改变后,页面不刷新问题

    2024-02-01 01:54:14
  • css多张图片一行显示居中,【CSS技巧】多图片的垂直居中排版

    css多张图片一行显示居中,【CSS技巧】多图片的垂直居中排版

    多图片的垂直居中排版,比如相册中相片的缩略图展示页,如图所示:先看效果:代码如下:============================-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>无标题文档.box{ width:232px; height...

    2024-02-01 01:54:08
  • merge改写update

    1.OLD:需求将HH2中的data_object_id同步至HH中。UPDATEHHASETDATA_OBJECT_ID=(SE...

    2024-02-01 01:54:04
  • HCIP 实验作业(ppp实验)

    HCIP 实验作业(ppp实验)

    主验证方:配置用户列表及验证方式。主验证方:配置用户列表及验证方式。主验证方:配置用户列表及验证方式。将实际接口加入虚拟接口组;将实际接口加入虚拟接口组;被验证方:配置验证用户名。被验证方:配置验证用户名。被验证方:配置验证用户名。

    2024-02-01 01:53:33
  • 从串口驱动到Linux驱动模型

    从串口驱动到Linux驱动模型

    Table of Contents 1.什么是Linux操作系统 ? A.关于类UNIX系统 B.关于可移植性 C.关于Linux的基本思想 D.关于Linux的特点 完全免费 完全兼容POSIX1....

    2024-02-01 01:53:26
  • 谷粒商城 - 笔记【转】

    https://blog.csdn.net/hancoder/article/details/106922139

    2024-02-01 01:53:17