python之路第一节-pip的使用
第一次写博客,一边吃着旺仔冻痴一边学着python,爽~
我之理解pip
首先,python封装好了大量的函数,这些函数存在各种各样的库中。
那么怎么去向我们可爱的pycharm等软件导入这些库呢,两种方法:
第一种:利用pycharm提供的傻瓜式设置,直接安装库
步骤如下:
Files→settings
在project中选择project Interpreter 里面的右边加号即可在里面的搜索框进行查找你需要的库。
但是这种方法有时候会因为访问外网网络延迟过长,而导致系统误判失败(比较常见),所以这时候就显示出过硬的基础素质弥足珍贵。也就是第二种最原始的放法。
第二种:在python的使用路径下,进行pip安装
到了主题了,pip就是协助Python开发者进行包管理的助手,学会pip至关重要。
萌新的我最开始觉得傻瓜方式一也很好用,但是我有一次想使用GLPK_MI的线性规划时,在安装Numpy+mkl的时候,由于numpy+mkl这个库在所有国内镜像系统里都没有。(目前截止到今天为止还没有,无论是哪一个版本都没有,今天是2020年7月20日)所以想要装这个库。只能从官网上下载whl文件后手动pip安装。空费一天功夫。
其中操作部分可以看后文,注意路径的问题,一定要根据自己用的python3.7.0那个来用cmd打开(如果使用pycharm,就去找pycharm安装时使用的python3.7.0这个环境在哪里)。
pip基础操作
查看pip版本:
pip -V
升级pip :
pip install --upgrade pip
查看已安装第三方包列表:
pip list
pip安装第三方包:
pip install ......(三种情况)
- 直接安装:
pip install 包名
- 指定版本安装:
pip install 包名==版本号
- 通过.whl安装包安装:
pip install .whl安装包名
!!!!!!!!第三种划重点,经常用于直接pip安装出现异常时使用。.whl安装包需在安装前下载好,下面推荐一个常用的.whl包下载网址:加州大学欧文(尔湾)分校的网址https://www.lfd.uci.edu/~gohlke/pythonlibs/ #有些慢但是确实能用
升级包:
pip install -U 包名
查看安装包详细信息:
pip show 包名
卸载第三方包:
pip uninstall 包名
pip推荐使用国内的镜像
由于外网网速太慢,这里提供一个一劳永逸的换源下载的方法(linux未涉猎,可以期待一下更新)
windows:
直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,(即创建记事本之后,更改名字及后缀为pip.ini即可)内容如下:
#我使用的是阿里云
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/ [install]
trusted-host=mirrors.aliyun.com
其他常用镜像地址
阿里云镜像源:http://mirrors.aliyun.com/pypi/simple/
豆瓣镜像源: http://pypi.douban.com/simple/
清华大学镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/ (听说清华云最全)
最后举一个pycharm直接安装失败的栗子
2020年7月20日,灼热的太阳一如我灼热的心,线性规划无法使用GLPK_MI的求解方式,查看报错信息后,发现是缺少GLPK库,但GLPK库比较大,导致网络一直延迟过大,pip显示GLPK无法访问,即便国内的镜像也没能下载下来,报错仍未解决,erroe C1083的报错更是把我整懵了,他竟然显示我无法打开包括文件(一般为.h)。
这与司守奎老师讲座中出现的报错一致,司老师也未解决,感觉又是一个大坑,暂时探索无果,我决定寻找替代方案,便是最新的numpy+mkl库(目前截止到今天为止所有国内镜像系统里都没有,无论是哪一个版本都没有,今天是2020年7月20日)所以想要装这个库。只能从官网上下载,也就是直接执行。
重新组装用于求解最优解的cvxpy
Python中cvxpy的安装方法为:
- 卸载原Pyhon中的Numpy
- 一定要按顺序来逐个安装
numpy+mkl, scipy,ecos, osqp, scs, cvxopt, cvxpy
而安装Numpy+mkl这种国内镜像系统里都没有的特殊情况,便用到了我们之前学的知识。
这个Numpy+mkl库是在使用cvxpy优化库的时候使用这个。不使用优化库的时候,可以直接pip install numpy
安装Numpy+mkl的whl文件,链接为:https://www.lfd.uci.edu/~gohlke/pythonlibs/
glpk_mi缺失的错误处理
官方网站:http://www.gnu.org/software/glpk/glpk.html
python之路第一节-pip的使用的更多相关文章
- Python之路第一课Day8--随堂笔记(socket 承接上节---网络编程)
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- Python之路第一课Day4--随堂笔记(迭代生成装饰器)
上节回顾: 1.集合 a.关系测试 b.去重 2.文件操作及编码 3.函数 4.局部变量和全局变量 上节回顾 本节课内容: 1.迭代器生成器 2.装饰器 3.json pickle数据序列化 4.软件 ...
- Python之路第一课Day2--随堂笔记
入门知识拾遗 一.bytes类型 bytes转二进制然后转回来 msg="张杨" print(msg) print(msg.encode("utf-8")) p ...
- Python之路第一课Day7--随堂笔记(面向对象编程进阶...未完待续 )
本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@s ...
- Python之路第一课Day6--随堂笔记(面向对象 )
本节内容: 1. 面向对象编程介绍 2. 为什么要用面向对象进行开发? 3. 面向对象的特性:封装.继承.多态 4. 类.方法 一.面向过程 VS 面向对象 1. 编程范式 编程是 程序 员 用 ...
- Python之路第一课Day5--随堂笔记(模块)
本节课程大纲: 1.模块介绍 2.time &datetime模块 3.random 4.os 5.sys 6.shutil 7.json & picle 8.shelve 9.xml ...
- Python之路第一课Day11--随堂笔记(异步IO\数据库\队列\缓存之二)
一.RabbitMQ队列 1.安装: a.官网: 安装 http://www.rabbitmq.com/install-standalone-mac.html b.安装python rabbitMQ ...
- Python之路第一课Day10--随堂笔记(异步IO\数据库\队列\缓存)
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SS ...
- Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)
本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...
随机推荐
- Promise内部实现原理
promise内部实现原理: function $Promise(fn) { // Promise 的三种状态 this.PENDING = 'pending' this.RESOLVED = 're ...
- Code Forces 833 A The Meaningless Game(思维,数学)
Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...
- MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore
本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...
- 使用CodeMirror插件遇到的问题
CodeMirror的正常使用: //首先通过<script>标签引入相应的js,这个就不必说了 var myCodeMirror = CodeMirror.fromTextArea(my ...
- js返回上一页并刷新思路
在网上找了很多办法,比如window.history.go(-1):window.history.go(0): 试了下根本没用(不知道是不是我哪里写错了),想着在上一个页面写一个关闭页面并刷新的方法, ...
- 数据可视化之powerBI技巧(二)Power BI性能分析器,原来还有这个功能
性能分析器是Power BI前几个月推出的功能,主要用于检测视觉对象和DAX的性能如何,该功能的使用比较简单,首先勾选这个功能, 然后点击开始记录并刷新视觉对象,就可以看出每个元素耗费的时间,如下图 ...
- python 生成器(五):生成器实例(一)创建数据处理管道
问题 你想以数据管道(类似Unix管道)的方式迭代处理数据. 比如,你有个大量的数据需要处理,但是不能将它们一次性放入内存中. 解决方案 生成器函数是一个实现管道机制的好办法. 为了演示,假定你要处理 ...
- redis(一):Redis 数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- Redis 分布式锁(一)
前言 本文力争以最简单的语言,以博主自己对分布式锁的理解,按照自己的语言来描述分布式锁的概念.作用.原理.实现.如有错误,还请各位大佬海涵,恳请指正.分布式锁分两篇来讲解,本篇讲解客户端,下一篇讲解r ...
- 图解:如何实现最小生成树(Prim算法与Kruskal算法)
这是图算法的第四篇文章 图解:如何实现最小生成树 文章目录: 1.概念和性质 2.思路探索 3.Kruskal算法 4.Prim算法 5.代码实现 1.概念和性质 今天我们考虑的模型是加权无向图,问题 ...