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

腳本之家,腳本語言編程技術(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)后解壓, 進入解壓縮的目錄后執(zhí)行python setup.py install命令

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

假如我要安裝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>命令,報錯如下:

 

復(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, 非常方便,不會碰到這種情況,這種情況主要是因為pip版本問題: pip最新的版本(1.5以上的版本), 出于安全的考
慮,pip不允許安裝非PyPI的URL,因為該安裝文件實際上來自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) 

 

【辦法】

針對上面的情況,既然這個問題是因為pip版本的原因,可以改用pip低一點的版本
方法一: 用pip 1.4版本,再執(zhí)行pip install pylint命令來安裝
方法二: 執(zhí)行命令時,加上--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   # 允許所有外部地址的標簽,只有打上該標簽pip方可下載外部地址模塊
2. --allow-unverified     #  pip沒有辦法校驗外部模塊的有效性,所以必須同時打上該標簽
3. astroid==1.3.6          #  依賴包必須要添加上,并賦予其版本號,pip方能從列表下載    

 

方法三: 在當前目錄下,新增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è)計不夠友好,使用也很不方便,遠不如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. 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产九九| 国产成人无精品久久久 | 国产a免费| 亚洲AV无码专区国产精品麻豆 | 亚洲视频在线看 | 91真人毛片一级在线播放 | 91久久线看在观草草青青 | 美女沟厕撒尿全过程高清图片 | 阿v天堂2020| 亚洲丰满女人ass硕大 | 99久久香蕉国产线看观香 | 成年美女黄网站色视频大全免费 | 十六以下岁女子毛片免费 | 亚洲a图| 国产a免费| 日本指交| 免费在线视频一区 | 美女精品永久福利在线 | 青草久久网| 24adc年龄18岁欢迎大驾光临 | 青青久在线视频免费观看 | 狗老公小说 | haodiaose在线精品免费视频 | 亚洲风情无码免费视频 | 国产一卡二卡3卡4卡四卡在线视频 | 欧美图片小说 | 午夜办公室在线观看高清电影 | 日本一区二区三区四区无限 | caoporm国产精品视频免费 | 四虎影院久久 | 亚洲乱亚洲23p女 | 精品在线播放视频 | 免费在线观看成年人视频 | 亚洲国产一区二区三区a毛片 | 亚洲第一福利网 | 亚洲国产免费观看视频 | 久久99国产亚洲高清观着 | ova巨公主催眠1在线观看 | 精品日韩欧美一区二区三区 | 久久久久琪琪精品色 | 国产精品欧美一区二区 |