使用pipenv

摘要:
环境:在pipenv-2020.11.15.0之前,virtualenv通常用于创建虚拟环境。要求。txt文件是通过pipfreeze生成的,然后通过pipstall txt创建需求,以管理和安装项目模块。让您更深入地了解依赖关系图。模块相关性显示是pipenv的一个相对人性化的特性。对于项目迁移,我们可以将之前使用的virtualenv迁移到pipenv吗?答案是肯定的。您只需要按照pipenvinstall要求迁移原始模块。txt,然后使用它类似地,当从pipenv迁移到virtualenv项目时,也可以使用pipnvrunpipfreeze生成requirements.txt。

环境:pipenv-2020.11.15.0

以前经常使用virtualenv来创建虚拟环境,通过pip freeze生成requirements.txt文件,然后通过pip install -r requirements.txt进行项目模块的管理与安装。这样的安装存在很多问题,比如每次更新模块后,需要手动的重新生成依赖文件. 最新在做新项目,所以试用一下pipenv.

Pipenv试图解决的问题是多方面的:

  • 不再需要单独使用pip和使用virtualenv。他们被整合起来协同工作。
  • 管理requirements.txt文件可能会有问题,因此Pipenv使用文件Pipfile,Pipfile.lock而
  • 哈希总是随处可见。安全。自动暴露安全漏洞。
  • 让您深入了解您的依赖图(例如$ pipenv graph)。
  • 通过加载.env文件简化开发工作流程

Pipenv安装:pip install pipenv

之后创建一个我们的项目目录并进入目录输入:pipenv install 创建目录对应的虚拟机。
虚拟机创建目录:

  • windows : %homepath%.virtualenvsprojectname-随机码
  • LinuxMac: ~/.local/share/virtualenvs/projectname-随机码

虚拟机创建完成后,会在项目目录内生成两个包管理文件文件Pipfile、Pipfile.lock

进入虚拟机: pipenv shell

修改pip源: 修改pipfile文件的url一行,比如变成

url = "https://mirrors.aliyun.com/pypi/simple"

阿里的镜像verify_ssl无需修改,但是有些镜像是http协议的,你需要吧verify_ssl改为false,否则报错无法使用。

PIPfile中有两个section标签,一个是dev-packages,一个是packages,这两个有什么区别呢?当pipenv install flask时,我们安装的是packages,  当pipenv install watchdog --dev 时,我们安装的是dev-packages.


这两者有什么区别呢?比如我们在开发的过程中会引入一些工具,但这些工具在交付或者上线的时候无需安装,此时我们可以使用--dev的方式安装,而客户在初始化安装时使用pipenv install就不会将开发使用的模块进行安装,针对环境进行模块分离.

Pipfile.lock是一个json文件,详细记录了我们安装的每一个模块及模块的详细信息,如:名称、版本、Hash值。这样安装卸载变得更为容易与准确。 模块依赖展示是pipenv比较人性化的特征。

项目迁移 我们之前使用的virtualenv,可以迁移至pipenv吗?
答案是肯定的,只需要先通过pipenv install -r requirements.txt将原有的模块进行迁移,之后使用.
同样的,从pipenv迁移至virtualenv项目,也可以使用pipenv run pip freeze 生成requirements.txt。 .env介绍 在虚拟机中,我们的环境信息如何保存呢?比如邮箱,入口方法,等等…这时候我们需要使用到.env的文件。

命令集合 :

命令说明
pipenv --where列出本地工程路径
pipenv --venv列出虚拟环境路径
pipenv --py列出虚拟环境的Python可执行文件
pipenv install创建虚拟环境
pipenv install [moduel]安装包
pipenv install [moduel] --dev安装包到开发环境
pipenv uninstall[module]卸载包
pipenv uninstall --all卸载所有包
pipenv graph查看包依赖
pipenv lock生成lockfile
pipenv run python [pyfile]运行py文件
pipenv --rm删除虚拟环境

免责声明:文章转载自《使用pipenv》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇node多版本切换Vue.JS入门下下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kvm虚拟机vnc配置

本文是通过vnc方式访问虚拟主机上的KVM虚拟机。    这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说比xen要好很多,在虚拟主机上配置VNC访问虚拟机,也是为了多提供一种方式访问虚拟机而已。本文出自http://koumm.blog.51cto.com 1....

Virtualbox中不能为虚拟机打开一个新任务的原因及解决方法

我最开始的时候还以为是因为我的虚拟机路径是中文导致的,后来才发现原因: 4.3.12 之后的版本增加了安全检查机制(以前会被病毒利用),如果有程序将DLL注入Vbox的进程就会报错退出。一些杀软,MacType,或者别的系统性程序,都会注入DLL,找到元凶并排除即可。 解决方法:(有些方法我试了其实没有效果,我自己其实是重新打开就不会出错了,要等一会,...

Linux配置 依赖安装

基础知识: 1 OS Operation System 作用:控制硬件,服务软件 2 VMware虚拟机: 虚拟出一台计算机环境 配置两个虚拟网卡,适配器里查看 3 在虚拟机上安装操作系统Linux 4 Linux版本: 版本:内核版本,发行版本(各个公司对其优化) 5 目录介绍 root:系统管理员登录的默认目录 home:其他用户进来的默认目录 usr...

ESXi 虚拟机性能情况简单验证

1.虚拟化的CPU超售问题。 经过查找资料, 发现 ESXi 5.5 的版本 一个 物理CPU得Core 可以虚拟出 25个vCPU, 升级到ESXi6.0 之后可以虚拟化32个vCPU。 所以虚拟化的超售特别严重, 会降低性能。  理论上最极端的情况 只有普通CPU的 十分之一左右的性能。  比如功能测试这边的一个 2路10核 20个CPU的服务器  一...

Docker学习のWindows下安装Docker

一、docker最初只支持linux的,因此在windows下运行需要虚拟机。 利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端 利用Windows的Hyper-v虚拟化技术,直接在Windows上安装docker服务端和客户端。(在windows10和windows server2016) WIndow...

EACCES: permission denied,mkdir … npm install 安装依赖问题解决

强哥最近在用hugeGraph图库做二次开发的时候,在打包的时遇到前端项目打包失败的问题: cwebp-bin@4.0.0 postinstall /home/hugegraph/my-hugegraph-studio/studio-ui/node_modules/cwebp-bin> node lib/install.js ⚠ EACCES: pe...