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 ...
随机推荐
- 环境安装-Centos7.4安装及配置
环境安装-Centos7.4安装及配置 〇.资料汇总 一.虚拟机安装 1.下载地址 https://pan.baidu.com/s/1zcOp06HX4OxPdsCCGkHbXQ 提取码:7777 2 ...
- 使用VMware安装Linux(CentOS)操作系统
使用VMware安装CentOS 6.4 环境:Windows7 , VMware Workstation10, CentOS6.4 为什么选择CentOS ? 主流: 目前的Linux操作系统主要应 ...
- 【每日一题】【模拟】2021年11月11日--LRU 缓存机制
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 .实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 L ...
- Prometheus高可用架构介绍
Prometheus作为新生代的开源监控系统,慢慢成为了云原生体系的监控事实标准,也证明了其设计得到业界认可.但在多集群,大集群等场景下,Prometheus由于没有分片能力和多集群支持,还有Prom ...
- s2-007
漏洞名称 S2-007 CVE-2012-0838 远程代码执行 利用条件 Struts 2.0.0 - Struts 2.2.3 漏洞原理 age来自于用户输入,传递一个非整数给id导致错误,str ...
- [超详细] [效能工具]Typora+PicGo+Github免费图床快速搭建,提升技术文档输出效率
一.前言 在我们日常的学习和工作中,我们经常需要进行写作.尤其对于我们程序技术人员而言,工作中的技术方案文档或者接口文档等,都是经常需要用上的. 那么如果没有一个高效的工具,去帮助我们记录和创作,这将 ...
- [数据结构]深度优先搜索算法(Depth-First-Search,DFS)
深度优先搜索算法的概念 与广度优先搜索算法不同,深度优先搜索算法类似与树的先序遍历.这种搜索算法所遵循的搜索策略是尽可能"深"地搜索一个图.它的基本思想如下:首先访问图中某一个起始 ...
- nmap脚本详解
nmap --script 前言 我们通过nmap script来大幅扩展nmap的功能,nmap具有强大的脚本引擎NSE(Nmap Scripting Engine),它允许用户编写(和共享)简单的 ...
- 超详细手把手教你cordova开发使用指南+自定义插件,jsbridge
Cordova是什么 使用前端技术 开发跨平台web App的工具 底层原理:HTML+CSS搭建页面, JS和原生交互 交互原理:Cordova插件 环境配置 安卓开发基础环境搭建的文章可以参考一下 ...
- vue/cli子组件style中如何使用全局图片路径