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 ...
随机推荐
- 关于mysql数据库user表没有password字段
解决 这个是因为mysql的版本问题,是mysql 5.7版本出现的,具体是mysql 5.7.x 开始变化的我不知道 新的字段变更为authentication_string 修改密码的方式还是和原 ...
- HCIE Routing&Switching之MPLS基础理论
技术背景 90年代初期,互联网流量快速增长,而由于当时硬件技术的限制,路由器采用最长匹配算法逐跳转发数据包,成为网络数据转发的瓶颈:于是快速路由技术成为当时研究的一个热点:在各种方案中,IETF确定了 ...
- MIT6.828 Lab 1: C, Assembly, Tools, and Bootstrapping
前置准备 实现机器为VMWare的虚拟机,操作系统为 Debian-11(无桌面版本),内核版本为 5.10.0,指令集为 AMD64(i7 9700K),编译器为 GCC-10 QEMU 虚拟化支持 ...
- 一文带你快速入门 Go 语言微服务开发 - Dubbo Go 入门实践总结
更多详细示例可直接访问 Dubbo 官网 或搜索关注官方微信公众号:Apache Dubbo 1. 安装Go语言环境 建议使用最新版 go 1.17 go version >= go 1.15 ...
- day30-JQuery03
JQuery03 4.jQuery选择器03 4.4表单选择器 应用实例 <!DOCTYPE html> <html lang="en"> <head ...
- 【Hive】概念、安装、数据类型、DDL、DML操作、查询操作、函数、压缩存储、分区分桶、实战Top-N、调优(fetch抓取)、执行计划
一.概念 1.介绍 基于Hadoop的数据仓库工具,将结构化数据映射为一张表,可以通过类SQL方式查询 本质:将HQL转换成MapReduce程序 Hive中具有HQL对应的MapReduce模板 存 ...
- Python:灵活的开发环境
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/WTl7BPAhX5VuK-gmHaErMg 本文大概 1667 个 ...
- aiohttp、asyncio使用协程增加爬虫效率
import aiohttp import asyncio import time async def get_requests(url): async with aiohttp.ClientSess ...
- VSCode解决Python中空格和制表符混用报错
Python对缩进的要求非常严格,缩进控制不正确可能会造成代码执行不正确甚至报错. 遇到报错"TabError: inconsistent use of tabs and spaces in ...
- PHP7.2 装mongodb 遇到的坑,完美解决!
公司要做QA安全测试,组长就丢了一个源码包给我,什么资料都无. 系统是个Laravel框架,源码都是从线上git下来.然后看了本地composer.json 没有生成vendor 第一步安装 comp ...