关灯
开启左侧

[网页制作] python中pip安装非pypi官网第三方库的方法

[复制链接]
swmozowtfl 发表于 2015-7-31 22:04:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
  这篇文章主要介绍了python中pip安装非pypi官网第三方库的方法,pip最新的版本(1.5以上的版本),  出于安全的考虑,pip不允许安装非pypi的url,本文就给出两种解决方法,需要的朋友可以参考下
  在python中安装非自带python模块,有三种方式:
  1.easy_install
  2.pip
  3.下载压缩包(.zip, .tar, .tar.gz)后解压, 进入解压缩的目录后执行python setup.py install命令
  本文主要针对pip安装时可能会碰到的一种情况,及解决办法:
  假如我要安装pylint模块,该模块非python自带模块,用import肯定不能导入,需要额外安装
   代码如下:
  >>> import pylint
  traceback (most recent call last):
  file "", line 1, in
  importerror: no module named pylint
  【现象】
  执行pip install 命令,报错如下:
   代码如下:
  d:\>pip install pylint --allow-external pylint
  downloading/unpacking pylint
  requirement already satisfied (use --upgrade to upgrade): six in  c:\python27\lib\site-packages\six-1
  .8.0-py2.7.egg (from pylint)
  downloading/unpacking astroid>=1.3.6 (from pylint)
  real name of requirement astroid is astroid
  could not find any downloads that satisfy the requirement astroid>=1.3.6  (from pylint)
  some insecure and unverifiable files were ignored (use --allow-unverified  astroid to allow).
  cleaning up...
  no distributions at all found for astroid>=1.3.6 (from pylint)
  storing debug log for failure in c:\users\aaa\pip\pip.log
  【分析】
  在perl中安装新模块,一般可以用ppm图形化工具,也可以用cpan来安装,比如说: cpan>install test::class,  非常方便,不会碰到这种情况,这种情况主要是因为pip版本问题: pip最新的版本(1.5以上的版本), 出于安全的考
  虑,pip不允许安装非pypi的url,因为该安装文件实际上来自pylint.org,因而导致上面的错误!
  note:
  1. 可以在官方changelog里面查看更改的信息
  2. 可以用pip --version来查看pip的版本信息
      代码如下:
  c:\>pip --version
  pip 1.5.6 from c:\python27\lib\site-packages (python 2.7)
  【办法】
  针对上面的情况,既然这个问题是因为pip版本的原因,可以改用pip低一点的版本
  方法一: 用pip 1.4版本,再执行pip install pylint命令来安装
  方法二: 执行命令时,加上--allow-all-external,  --allow-unverified及依赖包版本(astroid==1.3.6)
   代码如下:
  pip install pylint --allow-all-external pylint astroid==1.3.6  --allow-unverified pylint
  note:
  1. --allow-all-external # 允许所有外部地址的标签,只有打上该标签pip方可下载外部地址模块
  2. --allow-unverified # pip没有办法校验外部模块的有效性,所以必须同时打上该标签
  3. astroid==1.3.6 # 依赖包必须要添加上,并赋予其版本号,pip方能从列表下载
  方法三: 在当前目录下,新增requirements.txt,内容如下:
   代码如下:
  # requirements.txt
  --allow-all-external pylint
  --allow-unverified pylint
  pylint
  --allow-all-external astroid==1.3.6
  再执行: pip install -r requirements.txt
  【结论】
  1. pip这个设计不够友好,使用也很不方便,远不如perl中的ppm,期待python中也有这么个工具。
  2. 如果碰到这种错,导致不能安装模块的话: 直接下载压缩包安装好了。 >>>下载包地址<<<
  3. 执行pip -h命令查看更新pip相关的帮助信息
   代码如下:
  usage:
  pip [options]
  commands:
  install install packages.
  uninstall uninstall packages.
  freeze output installed packages in requirements format.
  list list installed packages.
  show show information about installed packages.
  search search pypi for packages.
  wheel build wheels from your requirements.
  zip deprecated. zip individual packages.
  unzip deprecated. unzip individual packages.
  bundle deprecated. create pybundles.
  help show help for commands.
  general options:
  -h, --help show help.
  -v, --verbose give more output. option is additive, and can be used up to 3  times.
  -v, --version show version and exit.
  -q, --quiet give less output.
  --log-filepath to a verbose non-appending log, that only logs  failures. this log is active by default at pip.log.
  --logpath to a verbose appending log. this log is inactive by  default.
  --proxyspecify a proxy in the form  [user:passwd@]proxy.server:port.
  --timeout set the socket timeout (default 15 seconds).
  --exists-action default action when a path already exists:  (s)witch, (i)gnore, (w)ipe, (b)ackup.
  --certpath to alternate ca bundle.
更多技术文章信息请查看: 技术文章
 

精彩评论11

正序浏览
GoodyFouppy 发表于 2016-2-16 18:04:01 | 显示全部楼层
 
楼主说的是什么?我是小白,好像还没看明白!
 
wwzcdenleclv 发表于 2016-2-16 18:04:40 | 显示全部楼层
 
本人是文盲,以上内容文字均不认识,也看不懂是什么意思.
 
effoggikeftor 发表于 2016-2-16 18:04:29 | 显示全部楼层
 
小手一抖,经验到手!手拿酱油,低头猛走!酱油党路过,杜绝零回复
 
alapScady 发表于 2016-2-16 18:05:17 | 显示全部楼层
 
想骂你.却不知道从何骂起.
 
bqtklouu 发表于 2016-2-16 18:04:28 | 显示全部楼层
 
对自己好点~别难为自己
 
wptd721 发表于 2016-2-19 05:57:02 | 显示全部楼层
 

萌帝国,幼幼王朝,呦吧,拯救帝国,我愛幼幼,愛又閣 幼幼论坛最新地址

萌帝国  mengdg.com (推荐)


纯粹个人分享.欢迎转发
 
mwxny 发表于 2016-3-30 10:39:31 | 显示全部楼层
 
小手一抖,经验到手!手拿酱油,低头猛走!酱油党路过,杜绝零回复
 
wwzcdenleclv 发表于 2016-3-30 10:40:15 | 显示全部楼层
 
照你这么说真的有道理哦 呵呵 不进沙子馁~~~
 
alapScady 发表于 2016-3-30 10:40:10 | 显示全部楼层
 
兄弟....表给偶丢丢哦....
 
GoodyFouppy 发表于 2016-3-30 10:40:04 | 显示全部楼层
 
疯了.........
 
seazvyt 发表于 2016-3-30 10:39:21 | 显示全部楼层
 
我帮不了你
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

2503帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )