第一次写博客,一边吃着旺仔冻痴一边学着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的安装方法为:

  1. 卸载原Pyhon中的Numpy
  2. 一定要按顺序来逐个安装
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缺失的错误处理

     这个工具和numpy+mkl有关,如果没有安装这一个模块运行一些求解代码的时候就会出现这个错误,这便是遇见无法安装问题的一次解决流程。
 
 P.S. glpk_mi的优化精度最高,百度文库中有这几种优化的汇总文档,有兴趣可以看一看(matlab版)。
 
GLPK官方给的说明网站

官方网站:http://www.gnu.org/software/glpk/glpk.html

python之路第一节-pip的使用的更多相关文章

  1. Python之路第一课Day8--随堂笔记(socket 承接上节---网络编程)

    本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...

  2. Python之路第一课Day4--随堂笔记(迭代生成装饰器)

    上节回顾: 1.集合 a.关系测试 b.去重 2.文件操作及编码 3.函数 4.局部变量和全局变量 上节回顾 本节课内容: 1.迭代器生成器 2.装饰器 3.json pickle数据序列化 4.软件 ...

  3. Python之路第一课Day2--随堂笔记

    入门知识拾遗 一.bytes类型 bytes转二进制然后转回来 msg="张杨" print(msg) print(msg.encode("utf-8")) p ...

  4. Python之路第一课Day7--随堂笔记(面向对象编程进阶...未完待续 )

    本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@s ...

  5. Python之路第一课Day6--随堂笔记(面向对象 )

    本节内容: 1. 面向对象编程介绍 2. 为什么要用面向对象进行开发? 3. 面向对象的特性:封装.继承.多态 4. 类.方法   一.面向过程 VS 面向对象  1. 编程范式 编程是 程序 员 用 ...

  6. Python之路第一课Day5--随堂笔记(模块)

    本节课程大纲: 1.模块介绍 2.time &datetime模块 3.random 4.os 5.sys 6.shutil 7.json & picle 8.shelve 9.xml ...

  7. Python之路第一课Day11--随堂笔记(异步IO\数据库\队列\缓存之二)

    一.RabbitMQ队列 1.安装: a.官网: 安装 http://www.rabbitmq.com/install-standalone-mac.html b.安装python rabbitMQ ...

  8. Python之路第一课Day10--随堂笔记(异步IO\数据库\队列\缓存)

    本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SS ...

  9. Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)

    本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...

随机推荐

  1. Angular实现购物车全选

    直接上代码 <!DOCTYPE html> <html ng-app="myApp" > <head> <meta charset=&qu ...

  2. 记录一下安装hexo的过程

    记录一下安装hexo的过程 首先你的电脑需要安装node.js和Git 安装好Git之后需要配置本机与Github之间的ssh方便更新同步博客到Github上,在一个地方新建一个文件夹作为我们博客的根 ...

  3. 2018年BRATS 肿瘤分割挑战赛第三名分割方案One-pass Multi-task Networks with Cross-task Guided Attention for Brain Tumor Segmentation

    首先说一下我对这个方案的看法,相比第一名与第二名的方案,这个方案的分割方法确实复杂的多,原论文是发表在MICCAI,后来砖投到IEEE image processing(SCI 1区),总体感觉给人一 ...

  4. 机器学习实战基础(四十一):随机森林 (八)附录 Bagging vs Boosting

  5. 重学c#系列——c#运行原理(二)

    前言 c# 是怎么运行的呢?是否和java一样运行在像jvm的虚拟机上呢?其实差不多,但是更广泛. c# 运行环境不仅c#可以运行,符合.net framework 开发规范的都可以运行. c# 程序 ...

  6. 008.Nginx静态资源

    一 Nginx静态资源概述 1.1 静态资源类型 Nginx作为静态资源Web服务器部署配置, 传输非常高效, 常常用于静态资源处理,请求以及动静分离.通常非服务器动态运行生成的文件属于静态资源. 类 ...

  7. day1:注释和变量

    1.注释的作用:对代码的解释,方便以后阅读代码 2.常用的快捷键:ctrl+q:notepad++的注释ctrl+/:pycharm的注释ctrl+c:复制ctrl+v:粘贴ctrl+z:撤销ctrl ...

  8. Python Ethical Hacking - ARP Spoofing

    Typical Network ARP Spoofing Why ARP Spoofing is possible: 1. Clients accept responses even if they ...

  9. 2020年20个Flutter最漂亮的UI库和项目

    Best-Flutter-UI-Templates 地址:https://github.com/mitesh77/Best-Flutter-UI-Templates The History of Ev ...

  10. Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)

    文章目录 一.项目背景 二.数据处理 1.标签与特征分离 2.数据可视化 3.训练集和测试集 三.模型搭建 四.模型训练 五.完整代码 一.项目背景数据集cnn_train.csv包含人类面部表情的图 ...