第一次写博客,一边吃着旺仔冻痴一边学着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

最新文章

  1. asp.net 验证码(一)Session
  2. java.io中的System.in、 System.out和System.err
  3. Spring container vs SpringMVC container(webmvc container)
  4. ichat在线客服jQuery插件(可能是历史上最灵活的)
  5. Ubuntu 开机自启动工具 update-rd.d 使用详解
  6. Mosaic HDU 4819 二维线段树入门题
  7. ORA-01157报错"cannot identify/lock data file"解决
  8. 海外ubuntu,lamp,ftp,phpmyadmin配置
  9. Java中的StringBuffer
  10. Ruby 连接MySQL数据库
  11. NTP服务和DNS服务(week3_day3)--技术流ken
  12. 持续集成配置之Nuget
  13. CMD命令启动和关闭SQL服务
  14. Android NDK编译之undefined reference to 'JNI_CreateJavaVM'
  15. 绝对精品推荐做前端的看下:Web前端开发体会十日谈
  16. 各种编译不通过xcode
  17. Android 系统中运行jar文件
  18. 构造方法和一般方法的区别(面试)-----java基础知识总结
  19. BZOJ3994 约数个数和
  20. webpack4.5.0+vue2.5.16+vue-loader 实战组件化开发案例以及版本问题中踩的一些大坑!!!

热门文章

  1. 「疫期集训day0」启程
  2. C#利用反射实现简单记事本功能插件
  3. buu[护网杯 2018]easy_tornado
  4. CRLF injection 简单总结
  5. java 面向对象(二十一):属性的赋值顺序
  6. 数据可视化之DAX篇(五) 使用PowerBI的这两个函数,灵活计算各种占比
  7. 手把手从零开始---封装一个vue视频播放器组件
  8. Python Ethical Hacking - NETWORK_SCANNER(2)
  9. Python Ethical Hacking - BeEF Framework(2)
  10. ATX学习(一)-atx-server