Pipenv 是 Python 官方推荐的依赖管理工具,旨在简化 pipvirtualenv 的使用。其使用 PipfilePipfile.lock 来管理项目的依赖和虚拟环境。

安装

pip install --user pipenv  # 如果当前用户不是 root,就使用 --user 选项

不要使用 brew 安装 pipenv:

Homebrew installation is discouraged because it works better to install pipenv using pip on macOS.

使用

pipenv install  # 为目录创建新的虚拟环境,并使用目录中的 Pipfile 或 requirements.txt 安装依赖
pipenv install --deploy # deploy 会验证 Pipfile.lock 是不是由对应的 Pipfile 生成的 pipenv lock # 生成 Pipfile.lock
pipenv sync # 安装 Pipfile.lock 中的依赖
pipenv update # 相当于 pipenv lock 和 pipenv sync pipenv requirements > requirements.txt # 生成 requirements.txt

可以设置 PIPENV_VENV_IN_PROJECT=1 环境变量来将虚拟环境安装在项目目录中。

换源

# 临时换源
pipenv install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
# 永久换源
pipenv --pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple

使用虚拟环境

pipenv --venv              # 查看当前虚拟环境的信息
pipenv shell # 激活虚拟环境
pipenv run python main.py # 直接在外部运行虚拟环境命令
exit # 退出虚拟环境
pipenv --rm # 删除虚拟环境

常用命令一览:

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 # 删除虚拟环境

参考:

Troubleshooting

Warning: the environment variable LANG is not set!

解决方案:Pipenv environment variable LANG is not set! | neldeles's personal blog/portfolio

Pipenv 使用的更多相关文章

  1. Python包和版本管理的最好工具----pipenv

    pipenv 是Kenneth Reitz大神的作品,提供Python的各个版本间的管理,各种包管理.个人觉得是virtualenv pip等工具的合体. pipenv主要有以下特性: (1)以前我们 ...

  2. Requests库作者另一神器Pipenv的用法

    前言 我们在运行 Python 项目的时候经常会遇到一些版本问题,例如 A 项目依赖于 Django 1.5,而 B 项目又依赖 Django 2.0,而我们的系统却只有一个 Python 解释器,我 ...

  3. Pipenv项目化你的python应用

    目录 Pipenv 什么是pipenv 安装pipenv pipenv用法 使用pipenv开发项目 pipenv 结合 pyenv Pipenv 什么是pipenv Pipenv is a prod ...

  4. 包管理工具之Pipenv

    pipenv 都包含什么? pipenv 是 Pipfile 主要倡导者.requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile.pip.click.requ ...

  5. django+nginx+gunicorn+pipenv微信小程序实践笔记

    一.我采用pipenv来管理虚拟环境,在本地新建虚拟环境: mkdir wxProject #进入环境目录,创建虚拟环境 pipenv install #激活虚拟环境 pipenv shell #然后 ...

  6. 安装pipenv

    首先: 安装pipenv pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv 使用国内源安装pipenv 创建文件夹 mkd ...

  7. Python3 系列之 环境包管理神器 pipenv

    环境说明:Windows 10 build 17763 + Python 3.7.2 介绍 pipenv 是在 pip 与 virtualenv 基础上发展而来的,弥补了之前 virtualenv 通 ...

  8. python——虚拟环境之pipenv的安装及使用(windows10,64位)

    1 简介 pipenv是requests作者的一个项目,整合了virtualenv.pip.pipfile, 用于更方便地为项目建立虚拟环境并管理虚拟环境中的第三方模块.不需要再分别使用pip和vir ...

  9. Pycharm远程调试服务器代码(使用Pipenv管理虚拟环境)

    准备工作 1.随便准备一个项目工程,在本地用Pipenv创建一个虚拟环境并生成Pipfile和pipfile.lock文件,如下: 2.准备一台服务器,我这里使用阿里云的ECS SSH连接上 $ ss ...

  10. Python pipenv

    pipenv都包含什么? pipenv 是 Pipfile 主要倡导者.requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile.pip.click.reque ...

随机推荐

  1. java实现微信登录

    前言 上一篇做了php的微信登录,所以也总结一下Java的微信授权登录并获取用户信息这个功能的开发流程. 配置 配置什么的就不多说了,详细的配置可以直接前往我上一篇查看. https://www.cn ...

  2. Linux 应用案例开发手册——基于Zynq-7010/20工业开发板

    目 录 1 开发案例说明 4 2 Linux 常用开发案例 4 2.1 tl_led_flash 案例 4 2.2 tl_key_test 案例 7 2.3 tl_can_echo 案例 11 2.4 ...

  3. HTTP事务理解

    借图: 首先三次握手理解: TCP三次握手好比两个对话, 第一次握手:甲给乙一直发送信息,乙没有回应,甲不知道乙有没有收到信息 第二次握手:乙收到信息,然后再给甲回信息,此时甲知道乙收到信息,但乙不知 ...

  4. 张高兴的 MicroPython 入门指南:(二)GPIO 的使用

    目录 什么是 GPIO 使用方法 使用微动开关点亮板载 LED 硬件需求 电路 代码 参考 什么是 GPIO GPIO 是 General Purpose Input Output 的缩写,即&quo ...

  5. Java集合框架总结图

    Collection 接口的接口(对象集合) ├---List 接口:元素都有索引,可以重复,有序(迭代器顺序). │------├ LinkedList 接口实现类, 双向链表, 查询慢,增删快,效 ...

  6. Vue入门记录(一)

    效果 本文为实现如下前端效果的学习实践记录: 实践 入门的最佳实践我觉得是先去看官网,官网一般都会有快速入门指引. 根据官网的快速上手文档,构建一个新的Vue3+TypeScript,查看新建的项目结 ...

  7. 提高 C# 的生产力:C# 13 更新完全指南

    前言 预计在 2024 年 11 月,C# 13 将与 .NET 9 一起正式发布.今年的 C# 更新主要集中在 ref struct 上进行了许多改进,并添加了许多有助于进一步提高生产力的便利功能. ...

  8. python与c/java的异

    1.注释 #为单行注释 """ 这里是多行注释 """ ''' 这个也可以是多行注释 ''' 2.赋值 在python中赋值不需要特定变量的 ...

  9. 题解 WD与数列

    P5161 WD与数列 可以想到原条件是一个差分形式,所以我们对原数组差分.然后发现答案其实就是 \(\sum_{i<j} \min(lcp(i+1,j+1)+1,j-i)\). 这个东西先跑 ...

  10. axios传递参数的使用

    今天在学习elasticsearch时,遇到一个问题:项目中前端采用的是Vue2+axios,后端的接口采用Restful风格来接收: 关于Resultful风格: 1. GET(SELECT):从服 ...