pip和pipenv简记
一. pip篇
1. 配置文件换源
windows:C:\Users\Administrator\pip\pip.ini
mac:~/pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com
disable-pip-version-check = true
timeout = 300 [list]
format = columns
2. 指令换源
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
3. 重点指令
# 查看包的版本,确定后在==后面输入版本号即可
pip install xxx== # 批量卸载,rr.txt放需要卸载的包名
pip uninstall -r rr.txt
# pip search坟头草已经一米多高了,用不了了
二. Pipenv简记
1. 说明
pipenv是python最好的包管理器,用来控制安装的包,等于pip + virtualenv,指令与pip类似,建议尽量使用pipenv来代替pip。
2. 配置
mac下:在~/.bash_profile里配置?
# 让pipenv环境在项目目录
export PIPENV_VENV_IN_PROJECT=1 # 设置字符集,不然在输入pipenv shell时会遇到Warning: the environment variable LANG is not set!
export LANG=zh_CN.UTF-8
3. windows下:
系统环境变量中添加一个变量PIPENV_VENV_IN_PROJECT,值设置为true
4. 换源
提高安装速度换源,更换pipfile里的源为:"https://pypi.doubanio.com/simple"
5. pycharm解释器配置
在pycharm里选择解释器时选virtualenv-exist,它会自动识别出来。
6. 基本指令
# 安装
pip install pipenv
# 进入虚拟环境
pipenv shell # 退出虚拟环境
exit # 将所有依赖库导出到 requirements.txt 文件
pip freeze > requirements.txt # 配置软连接(可不用)
ln -s /Users/edz/Library/Python/3.8/bin/pipenv /usr/local/bin # 更新
pip install --user --upgrade pipenv # 安装环境依赖(在有pipfile的项目根目录下执行),如果版本不一致安装时会报错,后面加上--three就行
pipenv install <--three> # 只安装dev-packages部分的包(在有pipfile的项目根目录下执行)
pipenv install -d # 安装环境依赖(在有requirement.txt的项目根目录下执行)
pipenv install -r requirements.txt # 安装/卸载包
pipenv install/uninstall package # 查看已安装的包
pipenv graph # 查看当前虚拟环境位置
pipenv --venv # 查看项目根目录
pipenv --where # 查看需要更新的包
pipenv update --outdated # 更新所有包
pipenv update # 更新指定包
pipenv update package # 指定Python版本
pipenv --python 3.8 # 在虚拟环境中启动python
pipenv run python --version # 将Pipfile和Pipfile.lock文件里面的包导出
pipenv lock -r # 只导出开发用的包
pipenv lock -r --dev
三. 其他
何时用brew何时用pipenv?
在你不确定一个包/库/插件的使用范围时,尽量给予它低等级的权限。比如你喜欢数据分析,那么可能会用到jupyter,jupyter既可以用brew装又可以用pipenv装,究竟用哪个装更好一点?“实践出真知”,最好是两种方法都对比一下,看看哪种更干净,依赖更少即可,为了节省时间,下面直接给出答案。所以,若你仅在某个场景使用那么请使用pipenv装;若不是那么用brew装。(brew装的依赖更多更不好打理,本着优雅简约的原则推荐pipenv装)
何时用pip何时用pipenv?
用于项目单独管理用pipenv,为了方便直接使用库内置指令用pip。
如我希望直接在终端jupyter notebook启动jupyter,那么首先用pip装的,后来发现jupyter的依赖包太多导致pip环境很乱,感觉很恶心改用pipenv。
再如web自动化中用pipenv装了一个playwright,在终端启动时老是提示我找不到指令,因为需要先进入所在的虚拟环境比较麻烦,后来改用pip装playwright。
个人建议,没有特殊情况,全部用pipenv。
安装了pipenv仍然提示: 'pipenv' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
这种情况发生在windows电脑的pycharm里安装时出现,解决方法是:在windows自带的终端中卸载掉pipenv,使用pip3重新安装。
作者留言
原创不宜,如果觉得本文对你有帮助,记得打赏作者噢O(∩_∩)O,你的一点点爱心是我创作路上最大的动力~

pip和pipenv简记的更多相关文章
- pip 18.1: pipenv graph results in ImportError: cannot import name 'get_installed_distributions'
I'm currently using python3 -m pip install pip==10.0.1python3 -m pip install pipenv==2018.5.18 Once ...
- 从pip+requirements.txt+virtualenv管理依赖到使用pipenv管理依赖-修改布署方式
背景: 已经使用pip+requirements.txt+virtualenv管理了项目一段时间,为了不要每次都 导出依赖(本地),安装依赖(服务器) 现在要使用pipenv来管理项目的依赖关系 思路 ...
- Pipenv项目化你的python应用
目录 Pipenv 什么是pipenv 安装pipenv pipenv用法 使用pipenv开发项目 pipenv 结合 pyenv Pipenv 什么是pipenv Pipenv is a prod ...
- 包管理工具之Pipenv
pipenv 都包含什么? pipenv 是 Pipfile 主要倡导者.requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile.pip.click.requ ...
- Python3 系列之 环境包管理神器 pipenv
环境说明:Windows 10 build 17763 + Python 3.7.2 介绍 pipenv 是在 pip 与 virtualenv 基础上发展而来的,弥补了之前 virtualenv 通 ...
- python——虚拟环境之pipenv的安装及使用(windows10,64位)
1 简介 pipenv是requests作者的一个项目,整合了virtualenv.pip.pipfile, 用于更方便地为项目建立虚拟环境并管理虚拟环境中的第三方模块.不需要再分别使用pip和vir ...
- 使用pipenv隔离不同项目的依赖包
pipenv可以为不同的路径创建python环境和依赖包,结合pyenv可以达到为不同项目使用不同python版本,不同依赖包的目的. pip install pipenv #安装pipenv 使用p ...
- Mac上安装pipenv时报错
version:mac os Mojave 10.14.2 执行时报错: pip install pipenv 改为: sudo pip install pipenv --upgrade --igno ...
- Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了
前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境.在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理. 传统的Python虚拟环境有virtualen ...
- python安装虚拟环境pipenv
python里如果多个多个项目同时引用包,就会涉及到包版本的问题,包不同版本管理的问题可以用虚拟环境来管理, 创建虚拟环境,这里是用官方推荐的pipenv来创建 先用pip命令行安装pipenv pi ...
随机推荐
- Java开发学习(四十四)----MyBatisPlus查询语句之查询条件
1.查询条件 前面我们只使用了lt()和gt(),除了这两个方法外,MybatisPlus还封装了很多条件对应的方法. MybatisPlus的查询条件有很多: 范围匹配(> . = .betw ...
- 4.3:flume+Kafka日志采集实验
〇.目标 使用kafka和flume组合进行日志采集 拓扑结构 一.重启SSH和zk服务 打开终端,首先输入:sudo service ssh restart 重启ssh服务.之后输入下述命令开启zo ...
- K8S 部署电商项目
Ingress 和 Ingress Controller 概述 在 k8s 中为什么会有 service 这个概念?Pod 漂移问题 Kubernetes 具有强大的副本控制能力,能保证在任意副本(P ...
- mysql下载及环境配置
目录 mysql简介 mysql下载 启动mysql 系统mysql服务的启动 mysql虚拟环境配置 (可以直接看这个) 卸载说明 mysql简介 为什么是mysql? 虽然数据库软件有很多 但是操 ...
- java中方法传参形式
成员方法传参形式: 1.基本数据类型:传递的是值 public class Object03 { public static void main(String[] args) { AA aa = ne ...
- Window注册表的学习记录
注册表的结构: 概述:注册表是一种树状结构,在很早之前是系统的其他配置信息存放的文件,通常以.ini结尾的文件,因为数量太多不方便管理,后来就整合在一起形成了注册表.你可以按住键盘win+r,然后输入 ...
- WPF 自定义附加事件
我们都知道路由事件,而附加事件用的比较少. 但如果是通用的场景,类似附加属性,附加事件就很有必要的. 举个例子,输入设备有很多种,WPF中输入事件主要分为鼠标.触摸.触笔:WPF 屏幕点击的设备类型 ...
- 基于云基础设施快速部署 RocketMQ 5.0 集群
本文作者:蔡高扬,Apache RocketMQ Committer, 阿里云智能技术专家. 背景 上图左侧为 RocketMQ 4.x版本集群,属于非切换架构.NameServer 作为无状态节点可 ...
- P5690 [CSP-S2019 江西] 日期
简要题意 给你一个格式为 \(\texttt{MM-DD}\) 的日期.你每一次可以更改一个整数,花费 \(1\) 的代价.求将该日期改为一个合法的日期的最小代价.(注:\(2\) 月视为 \(28\ ...
- 洛谷P1048 典型01背包问题
写在前面的话 蒟蒻在学习诸多图论算法之前,实际上没学过dp! 强说是学过也是只学了01背包,今天就来温习一下-- DP是啥? 动态规划(Dynamic Programming,DP)是运筹学的一个分支 ...