一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python中pip安裝非PyPI官網(wǎng)第三方庫的方法

Python中pip安裝非PyPI官網(wǎng)第三方庫的方法

2020-07-10 17:54Python教程網(wǎng) Python

這篇文章主要介紹了Python中pip安裝非PyPI官網(wǎng)第三方庫的方法,pip最新的版本(1.5以上的版本), 出于安全的考 慮,pip不允許安裝非PyPI的URL,本文就給出兩種解決方法,需要的朋友可以參考下

在python中安裝非自帶python模塊,有三種方式:

1.easy_install
2.pip
3.下載壓縮包(.zip, .tar, .tar.gz)后解壓, 進(jìn)入解壓縮的目錄后執(zhí)行python setup.py install命令

本文主要針對pip安裝時(shí)可能會碰到的一種情況,及解決辦法:

假如我要安裝pylint模塊,該模塊非python自帶模塊,用import肯定不能導(dǎo)入,需要額外安裝

復(fù)制代碼 代碼如下:

>>> import pylint 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ImportError: No module named pylint 

 

【現(xiàn)象】

執(zhí)行pip install <modulename>命令,報(bào)錯如下:

 

復(fù)制代碼 代碼如下:

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, 非常方便,不會碰到這種情況,這種情況主要是因?yàn)閜ip版本問題: pip最新的版本(1.5以上的版本), 出于安全的考
慮,pip不允許安裝非PyPI的URL,因?yàn)樵摪惭b文件實(shí)際上來自pylint.org,因而導(dǎo)致上面的錯誤!

NOTE:

1. 可以在官方changelog里面查看更改的信息
2. 可以用pip --version來查看pip的版本信息

復(fù)制代碼 代碼如下:

C:\>pip --version 
pip 1.5.6 from C:\Python27\lib\site-packages (python 2.7) 

 

【辦法】

針對上面的情況,既然這個問題是因?yàn)閜ip版本的原因,可以改用pip低一點(diǎn)的版本
方法一: 用pip 1.4版本,再執(zhí)行pip install pylint命令來安裝
方法二: 執(zhí)行命令時(shí),加上--allow-all-external, --allow-unverified及依賴包版本(astroid==1.3.6)

復(fù)制代碼 代碼如下:

pip install pylint --allow-all-external pylint astroid==1.3.6 --allow-unverified pylint


NOTE:
1. --allow-all-external   # 允許所有外部地址的標(biāo)簽,只有打上該標(biāo)簽pip方可下載外部地址模塊
2. --allow-unverified     #  pip沒有辦法校驗(yàn)外部模塊的有效性,所以必須同時(shí)打上該標(biāo)簽
3. astroid==1.3.6          #  依賴包必須要添加上,并賦予其版本號,pip方能從列表下載    

 

方法三: 在當(dāng)前目錄下,新增requirements.txt,內(nèi)容如下:

復(fù)制代碼 代碼如下:

# requirements.txt 
--allow-all-external pylint 
--allow-unverified pylint 
pylint 
--allow-all-external astroid==1.3.6 

 

再執(zhí)行: pip install -r requirements.txt
【結(jié)論】
1. pip這個設(shè)計(jì)不夠友好,使用也很不方便,遠(yuǎn)不如Perl中的PPM,期待Python中也有這么個工具。
2. 如果碰到這種錯,導(dǎo)致不能安裝模塊的話: 直接下載壓縮包安裝好了。 >>>下載包地址<<<
3. 執(zhí)行pip -h命令查看更新pip相關(guān)的幫助信息

 

復(fù)制代碼 代碼如下:

Usage:    
  pip <command> [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-file <path>           Path to a verbose non-appending log, that only logs failures. This log is active by default at pip.log. 
  --log <path>                Path to a verbose appending log. This log is inactive by default. 
  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port. 
  --timeout <sec>             Set the socket timeout (default 15 seconds). 
  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup. 
  --cert <path>               Path to alternate CA bundle. 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 蜜桃视频在线观看官网 | 俄罗斯一级毛片免费播放 | 天天天做天天天天爱天天想 | 近亲乱中文字幕 | 国产成人看片免费视频观看 | 国产一二三区视频 | 久久无码人妻AV精品一区 | 国产国语videosex另类 | 成人免费在线视频网 | 久草在在线免视频在线观看 | 久久热r在线视频精品 | 国产成人精品.一二区 | 国产日韩欧美在线播放 | 亚洲男gay同性同志 亚洲免费在线看 | 国产成人综合网亚洲欧美在线 | 日本粉色视频 | 91久久国产视频 | 大杳蕉在线影院在线播放 | 欧美肥乳 | 海角社区在线视频 | 窝窝午夜理伦影院 | 成人免费高清视频 | 媳妇和公公小说 | 操碰97| 国产在线观看福利 | 含羞草传媒网站免费进入欢迎 | 亚洲福利电影一区二区? | 好男人资源免费播放在线观看 | 亚洲欧美成人综合久久久 | ssni-497新任美脚女教师 | 男人都懂www深夜免费网站 | 国产精品久久毛片完整版 | 国产午夜精品久久理论片小说 | 欧美添下面视频免费观看 | 国产精品日本一区二区三区在线看 | 男神插曲女生动漫完整版动漫 | 青草视频免费观看 | 2022国产麻豆剧果冻传媒入口 | 九色PORNY蝌蚪视频首页 | 国产免费又粗又猛又爽视频国产 | 欧美艳星kagney1ynn |