Python中如何用pip安装外部主机文件

在python中安装非自带python模块,有三种方式:

  • easy_install
  • pip
  • 下载压缩包(.zip, .tar, .tar.gz)后解压, 进入解压缩的目录后执行python setup.py install命令

本文主要针对pip安装时可能会碰到的一种情况,及解决办法:

假如我要安装pylint模块,该模块非python自带模块,用import肯定不能导入,需要额外安装

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

现象

执行pip install <modulename>命令,报错如下:

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 <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:[email protected]]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.
时间: 2024-10-08 17:10:11

Python中如何用pip安装外部主机文件的相关文章

python中如何使用pip安装自己的第三方模块

系统:CentOS6.8    python版本:python3.5 文本编辑器:vim python中我们很多时候,需要将自己的py文件导入到python路径中,但是我们自己的文件自身并不在python默认的库文件路径下,这时候就需要我们自己将我们的py文件import进入了 下面示例怎么导入自己的第三方模块,我们首先需要自己创建一个.py文件,名字随意明名了,但是不要和python内部模块重命,内部模块路径在/usr/lib/python3.5/site-packages.要不然使用pyth

Python中Virtualenv和pip如何使用?

本文和大家分享的主要是python 中Virtualenv 和 pip的使用相关内容,一起来看看吧,希望对大家 学习python有所帮助. 0X00 安装环境 我们在Python 开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了  virtualenv  的诞生.virtualenv 可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了.  下面的内容只适用于

python中的BaseManager通信(一)文件三分

可以在windows下单机运行 主部分(提供服务器) 1 #mainfirst.py 2 from multiprocessing.managers import BaseManager 3 import Queue 4 queue = Queue.Queue() 5 class QueueManager(BaseManager): pass 6 QueueManager.register('get_queue', callable=lambda:queue) 7 m = QueueManage

Python中scrapy框架如何安装配置

在python学习群里发现很多学习网络爬虫技术的童靴都搞不懂python爬虫框架scrapy的安装配置,在学习python网络爬虫初级阶段的时候我们利用urllib和urllib2库以及正则表达式就可以完成了,不过遇到更加强大的爬虫工具--爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows平台: 我的系统是Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/l

Python中lxml模块的安装

lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库.lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯Python API的简洁性,与大家熟知的ElementTree API兼容但比之更优越!但安装lxml却又有点麻烦,因为存在依赖,直接安装的话用easy_install, pip都不能成功,会报gcc错误.下面列出来Windows.Linux下面的安装方法: [

python中nltk的下载安装方式

首先去http://nltk.org/install.html下载相关的安装程序,然后 在cmd窗口中,进入到python的文件夹内的 Scripts内,运行easy_install pip 安装PyYAML and NLTK:pip install pyyaml nltk 这样就将nltk安装完成,安完可以测试下. 然后敲入下面的代码,进入NLTK数据源下载界面: import nltk nltk.download() 选择all,设置好下载路径(Download Directory),然后点

python包管理之Pip安装及使用

Python有两个著名的包管理工具easy_install.py和pip.在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装. pip可以运行在Unix/Linux, OS X, and Windows平台上,支持CPython versions 2.6, 2.7, 3.1, 3.2, 3.3, 3.4 and also pypy. [Download] 下载pip的安装包get-pip.py,下载地址:https://pip.pypa.io/e

python中使用pycharm2018工具安装Autopep8

PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性. 这样的资料网上很多,但是大多都是老版本的,2018版本之前.我使用的是最新版,有很多改动:详细配置参见:有两篇文章写得比较符合我的版本:1.确保两个问题,你的机器已经安装python2.7和pycharm20182.同时要安装autopep8.exe在windown的cmd命令行中运行:pip install autopep8即可下

windows下python自带的pip安装速度过慢解决方案

自带下载地址为国外源下载速度时常在20KB以内切换为国内源直接满速! 国内源: 新版ubuntu要求使用https源,要注意. 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://pypi.hustunique.com/ 山东理工大学:http://py