一. 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简记的更多相关文章

  1. 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 ...

  2. 从pip+requirements.txt+virtualenv管理依赖到使用pipenv管理依赖-修改布署方式

    背景: 已经使用pip+requirements.txt+virtualenv管理了项目一段时间,为了不要每次都 导出依赖(本地),安装依赖(服务器) 现在要使用pipenv来管理项目的依赖关系 思路 ...

  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. Python3 系列之 环境包管理神器 pipenv

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

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

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

  7. 使用pipenv隔离不同项目的依赖包

    pipenv可以为不同的路径创建python环境和依赖包,结合pyenv可以达到为不同项目使用不同python版本,不同依赖包的目的. pip install pipenv #安装pipenv 使用p ...

  8. Mac上安装pipenv时报错

    version:mac os Mojave 10.14.2 执行时报错: pip install pipenv 改为: sudo pip install pipenv --upgrade --igno ...

  9. Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

    前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境.在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理. 传统的Python虚拟环境有virtualen ...

  10. python安装虚拟环境pipenv

    python里如果多个多个项目同时引用包,就会涉及到包版本的问题,包不同版本管理的问题可以用虚拟环境来管理, 创建虚拟环境,这里是用官方推荐的pipenv来创建 先用pip命令行安装pipenv pi ...

随机推荐

  1. Java lambda表达式基本使用

    代码示例:java.lambda.LambdaExpression 1 本质 lambda表达式本质上是对匿名内部类实例的一种简化写法. 1.1 案例 有以下List<Integer>对象 ...

  2. MISC中需要jio本处理的奇怪隐写

    好耶! 老样子,还是以ctfshow[1]中misc入门中的题目为切入点 感兴趣的同学可以一边做题一边看看.呜呜,求点浏览量了 APNG隐写(MISC40) APNG是普通png图片的升级版,他的后缀 ...

  3. 【Shell案例】【打印指定行用sed、for循环、head和tail配合使用】4、输出第5行的内容

    描述写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容. 示例:假设 nowcoder.txt 内容如下:welcometonowcoderthisisshellcode ...

  4. 【Hadoop学习】下:MapReduce程序编写、Hadoop序列化、框架原理、Yarn组件、设置队列

    一.MapReduce概述 1.定义 编程框架,组成分布式运算程序,运行在集群上 2.特点 优点:易于编程.扩展性.容错性(内部完成).海量数据离线处理 缺点:非实时.不擅长流式计算.不擅长DAG有向 ...

  5. 【每日一题】【判断栈是否为空的方法】2022年1月9日-NC76 用两个栈实现队列的出队入队【入队简单】

    描述用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能. 队列中的元素为int类型.保证操作合法,即保证pop操作时队列内已有元素 ...

  6. windows简单使用Jenkins遇到的一些坑

    简言: 闲来没事干,最近身边的小伙伴都在谈论CI/CD.自动化等等,耳朵都磨出茧了.这不闲着研究下jenkins.下面将自己遇到的一些坑分享出来. 首先介绍下Jenkins.Jenkins 是一个基于 ...

  7. easygui 之integerbox()、enterbox()、multenterbox() 三种输入函数的使用

    1.integerbox()函数:只可输入整数的输入框,默认输入范围为0-99 integerbox(msg="", title=" ", default=No ...

  8. a标签跳新链接,如果链接为空则不跳转

    a标签跳新链接,如果链接为空则不跳转 <el-carousel-item v-for="item in slideList" :key="item.id" ...

  9. Codeforces Round #844 (Div. 1 + Div. 2, based on VK Cup 2022 - Elimination Round) A-D

    比赛链接 A 题意 设计一条线路要贴着6个墙面走,从 \((a,b)\) 到 \((f,g)\) ,线路长度最短. 题解 知识点:模拟. 分类取最短即可. 时间复杂度 \(O(1)\) 空间复杂度 \ ...

  10. Coolify系列01- 从0到1超详细手把手教你上手Heroku 和 Netlify 的开源替代方案

    什么是Coolify 一款超强大的开源自托管 Heroku / Netlify 替代方案 coolLabs是开源.自托管和以隐私为中心的应用程序和服务的统称 为什么使用Coolify 只需单击几下即可 ...