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 ...
随机推荐
- 微服务系列之服务注册发现 Consul
1.为什么需要服务注册与发现 微服务架构中,服务于服务之间内部通信必不可少,比如A服务调用B服务,起初我们的做法是,A服务从配置文件中拿到B服务的IP.端口地址,进行访问,本身是没什么问题的,但是 ...
- Nginx 安装篇-yum安装
yum安装教程引用: https://www.cnblogs.com/AprilBlank/p/11388990.html#1-yum安装推荐 避坑事项: 暂无
- 【基础语法规范】BC1:Hello Nowcoder
语言1:Java public class Main{ public static void main(String[] args){ System.out.println("Hello N ...
- Day33:String类及其常用方法详解
String类 1.1 String类概述 Java中字符串属于对象,String类用于创建和操作字符串. 最简单的字符串创建:直接通过String创建 String str="工地佬&qu ...
- SpringBoot内置tomcat启动过程及原理
作者:李岩科 1 背景 SpringBoot 是一个框架,一种全新的编程规范,他的产生简化了框架的使用,同时也提供了很多便捷的功能,比如内置 tomcat 就是其中一项,他让我们省去了搭建 tomca ...
- 视图 触发器 事务 MVCC 存储过程 MySQL函数 MySQL流程控制 索引的数据结构 索引失效 慢查询优化explain 数据库设计三范式
目录 视图 create view ... as 触发器 简介 创建触发器的语法 create trigger 触发器命名有一定的规律 临时修改SQL语句的结束符 delimiter 触发器的实际运用 ...
- Qt多线程开发总览,既然用到了就记录一下
多线程 在LBD_VM_Intercom中使用的一个简单的实例 陶工给的dll需要进行异步操作才可以将视频画面附到窗体上,必须得在画面出现之后才可以附加画面,否则就有可能出现意外bug,所以需要在这个 ...
- Windows搭建Git服务器
Windows如何搭建Git服务器 1.安装java环境 (1)下载安装java 注意(java的版本需要在1.7及以上) (2)配置java的环境变量 (3)检验java环境是否安装成功 2.下载安 ...
- 使用浏览器inspect调试app
使用浏览器inspect调试app 在开发混合项目的过程中,常常需要在app环境排查问题,接口可以使用fiddler等工具来抓包,但是js错误就不好抓包了,这里介绍一种调试工具-浏览器. 1.调试过程 ...
- 2022的ShellCTF之web_WP
Extractor: 考点是SQL注入,不过数据库不是mysql,而是sqlite 首先尝试了:1' or 1=1# 尝试1' or 1=1 -- 发现有东西,使用 :order by 判断列表,知道 ...