在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)入,需要額外安裝
>>> import pylint?
Traceback (most recent call last):?
? File "
ImportError: No module named pylint?
【現(xiàn)象】
執(zhí)行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, 非常方便,不會碰到這種情況,這種情況主要是因?yàn)閜ip版本問題: pip最新的版本(1.5以上的版本), 出于安全的考
慮,pip不允許安裝非PyPI的URL,因?yàn)樵摪惭b文件實(shí)際上來自pylint.org,因而導(dǎo)致上面的錯(cuò)誤!
NOTE:
1. 可以在官方changelog里面查看更改的信息
2. 可以用pip --version來查看pip的版本信息
C:\>pip --version?
pip 1.5.6 from C:\Python27\lib\site-packages (python 2.7)?
【辦法】
針對上面的情況,既然這個(gè)問題是因?yàn)閜ip版本的原因,可以改用pip低一點(diǎn)的版本
方法一: 用pip 1.4版本,再執(zhí)行pip install pylint命令來安裝
方法二: 執(zhí)行命令時(shí),加上--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?? # 允許所有外部地址的標(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)容如下:
# 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這個(gè)設(shè)計(jì)不夠友好,使用也很不方便,遠(yuǎn)不如Perl中的PPM,期待Python中也有這么個(gè)工具。
2. 如果碰到這種錯(cuò),導(dǎo)致不能安裝模塊的話: 直接下載壓縮包安裝好了。 >>>下載包地址<<<
3. 執(zhí)行pip -h命令查看更新pip相關(guān)的幫助信息
Usage:????
? pip
?
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
? --log
? --proxy
? --timeout
? --exists-action
? --cert
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
