python安装各种第三方库的方法


一、使用pip安装

由于历史的原因,Python有两个著名的包管理工具easy_install和pip,在Python2.7的安装包中,easy_install是默认安装的,而pip需要我们手动进行安装。随着Python版本的提高,easy_install已经逐渐被淘汰,但是一些比较老的第三方库,仍然只能通过easy_install进行安装。目前,pip已经成为主流的安装工具,Python2.7.9及以上版本或Python3.4及以上版本,已经安装好pip了。

python2.7安装pip

https://www.python.org/downloads/windows/下载python2.7进行安装,python2.7安装完成后是没有Scripts目录的

①从https://pypi.org/project/setuptools/20.2.2/#files下载setuptools-20.2.2.tag.gz,注意不要下载太高版本的

解压,进入setup.py的同级目录中,使用如下命令安装:

python setup.py install

②安装完成后,python2.7的目录下会出现Scripts目录,在https://pypi.org/project/pip/10.0.1/#files中下载10.0.1.tar.gz,注意不要下载太高版本的

解压,进入setup.py的同级目录中,使用如下命令安装:

python setup.py install

③此时pip已经安装在Scripts目录下了,最后将Scripts目录添加到环境变量中就可以了

显示pip所有方法

pip

升级pip

python -m pip install --upgrade pip

升级setuptools

pip install --upgrade setuptools

查看pip版本

pip --version   # 或pip -V

pip安装库

pip install 库名

查看安装的库

pip show 库名

pip升级库

pip install --upgrade 库名  # 或者pip install -U 库名 

pip卸载库

pip uninstall 库名

pip搜索库

pip search 库名

pip展示库信息

pip search 库名

查找系统环境变量中的pip位置

where pip

pip指定安装版本库

pip install 库名==版本号

国内源汇总

国内源 网址
豆瓣 http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

建议:不要在pycharm中安装包,pycharm默认从pypi中下载包,下载速度很慢

pip永久配置安装源

windows: 直接在Users目录中创建一个pip目录,如:C:\Users\xx\pip,在pip 目录下新建文件pip.ini,内容如下

这里我配置的是清华大学的源

[global]

timeout = 6000

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

trusted-host = pypi.tuna.tsinghua.edu.cn

查找目标库的pypi官网

https://pypi.org/project/dlib/18.17.100/#files

搜索包

pip search <搜索关键字>

生成requirements.txt

pip freeze > requirements.txt

安装requirements.txt中的包

-r遍历并安装requestment.txt中的包

pip install -r requirements.txt

将已经安装的库列表保存到文本文件中

pip freeze > requirements.txt

选项

  • -c, --constraint <file>

    使用给定的约束文件约束版本,该选项可以重复添加

  • -r, --requirement <file>

    从给定的需求文件中安装,该选项可以重复添加

    按照惯例,需求文件名为 requirements.txt

  • --no-deps

    不安装包的任何依赖项

  • --pre

    包含预发布版本和开发版本,默认只会包行稳定的版本

  • -e, --editable <path/url>

    在可编辑模式下从一个本地的项目路径或 VCS URL 中安装一个项目 ( 例如,setuptools 的 「 开发者模式 」 )

  • -t, --target <dir>

    将包安装到指定目录 <dir>

    默认情况下,该选项并不会覆盖 <dir> 目录中已经存在的文件或目录,但可以使用 --upgrade 选项将已经存在的包更新到最新的版本

  • --user

    将所有的包安装到我们的平台的Python 用户安装目录,通常为 ~/.local/ 或 Windows 上为 %APPDATA%Python ( 更多详细信息,可以查看 Python 文档中的 site.USER_BASE 部分 )

  • --root <dir>

    安装与此备用根目录 <dir> 包含的所有内容

  • --prefix <dir>

    安装时,libbin 和其它顶级目录的存放目录,也就是这些目录的路径前缀

  • -b, --build <dir>

    用于存放解压缩的包和构建的包

    请注意,初始构建仍发生在临时目录中

    可以通过适当地设置 TMPDIR 环境变量 ( Windows上的 TEMP ) 来控制临时目录的位置

    注意,如果使用了该参数,当构建发生故障时,并不会清空构建目录

  • --src <dir>

    用于存放迁出的可编辑项目

    在虚拟环境中,默认的目录为 <venv path>/src, 在全局安装中,默认的目录为 <current dir>/src

  • -U, --upgrade

    更新所有指定的包到最新的可用版本。 依赖项的处理取决于所使用的升级策略

  • --upgrade-strategy <upgrade_strategy>

    确定应如何处理依赖项升级 ( 默认值:「 仅在需要时 」)

    • eager - 无论当前安装的版本是否满足升级包的要求,都会升级依赖项
    • only-if-needed - 仅在不满足升级包的要求时才升级
  • --force-reinstall

    重新安装所有的包,即使它们已经是最新的版本

  • -I, --ignore-installed

    忽略已经安装的包 ( 用重新安装取代 )

  • --ignore-requires-python

    忽略 Requires-Python 信息

  • --no-build-isolation

    在构建现代的源代码分发包是禁用隔离

    如果使用了此选项,则必须已安装 PEP518 规定的构建依赖项

  • --install-option <options>

    安装时提供给 setup.py 安装命令的额外参数( 使用方法类似于 --install-option="--install-scripts=/usr/local/bin" )

    可以使用多个 --install-option 选项将多个选项传递给 setup.py install

    如果你使用带有目录路径的选项,请确保使用绝对路径

  • --global-option <options>

    bdist_wheel 命令之前提供给 setup.py 调用的额外全局选项

  • --compile

    将 Python 源代码编译为 bytecode

  • --no-compile

    不要将 Python 源代码编译为 bytecode

  • --no-warn-script-location

    当安装脚本不在 PATH 路径中时不要发出警告

  • --no-warn-conflicts

    出现已损坏的依赖关系时不要发出警告

  • --no-binary <format_control>

    不使用二进制包

    该选项可以重复添加,每增加一个就会自增当前的值

    可选的值有

    • :all: :禁用所有二进制包
    • :none: :清空集合,或者使用逗号之间的一个或多个包名称

    注意,某些软件包编译起来很棘手,并且,即使在添加了此选项后仍然可能无法安装

  • --only-binary <format_control>

    不使用源代码包

    该选项可以重复添加,每增加一个就会自增当前的值

    可选的值有

    • :all: :禁用所有源代码包
    • :none: :清空集合,或者使用逗号之间的一个或多个包名称

    注意,没有二进制发行版的软件包在使用此选项时将无法安装

  • --no-clean

    不要清空构建目录

  • --require-hashes

    对于可重复安装,需要根据哈希值来检查每个需求

    如果需求文件中的任何一项包含了 --hash 选项,则隐式包含此选项

  • --progress-bar <progress_bar>

    用于指定要显示的进度条类型,可选项有 onasciioffprettyemoji,默认为 on

  • -i, --index-url <url>

    Python 包索引的基础 URL 地址,默认为 https://pypi.org/simple

    该选项的值应该指向符合 PEP503 ( 简单存储库 API ) 的存储库或以相同格式布局的本地目录

  • --extra-index-url <url>

    除了 --index-url 之外的附加的 Python 包索引 URL,规则和 --index-url 一样

  • --no-index

    忽略包索引,使用 --find-links 指定的 URL

  • -f, --find-links <url>

    如果提供的 URL 或路径链接到一个 html 文件,则会解析该 html 文件以获取归档

    如果是本地目录,或 file://url 指向的是一个目录,那么就在该目录中查找归档

  • --process-dependency-links

    启用依赖关系链接的处理

二、使用whl安装

如果环境欠缺,比如缺少某些编译环境,或者想要快速且稳定,可以考虑whl包,whl是离线安装,你需要将文件下载到本地后进行安装

查找whl包的网站

https://www.lfd.uci.edu/~gohlke/pythonlibs/

上面的资源还是比较齐全的

或者在清华大学的镜像网站中查找

https://pypi.tuna.tsinghua.edu.cn/simple/

下载whl包

搜索(CTRL+F)需要安装的库的名称,例如opencv

找到对应自己系统的版本并下载,cp后面的数字时python的版本,如cp36代表python3.6版本,WIN后面的数字32/64表示32或者64位系统

安装whl包

pip install xxx.whl(whl包的路径)

三、源码安装

后缀名是.tar.gz,例如dlib-19.19.0.tar.gz

先解压,解压后里面会有个setup.py的文件,我只需要执行这个文件就可以了安装了

cd进入到setup.py同级的文件夹目录,然后执行

python setup.py install

常见问题

1、python安装wordcloud等第三方库的时候提示

安装失败:Microsoft Visual C++ 14.0 is required

原因:某些第三方库pip下载后,需要编译再安装,如果操作系统没有编译环境,则能下载但不能安装

方法一:去寻找有没有编译好的whl包,有的话直接下载安装

方法二:安装Microsoft Visual C++ 14.0,提供编译环境

Microsoft Visual C++ 14.0官方下载地址 http://download.microsoft.com/download/5/F/7/5F7ACAEB-8363-451F-9425-68A90F98B238/visualcppbuildtools_full.exe

Microsoft Visual C++ 14.0蓝奏云链接 https://xinglingyingxue.lanzous.com/ictiref

官网最新支持的 Visual C++ 下载 https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads


文章作者: 星凌映雪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 星凌映雪 !
评论
 上一篇
python包管理工具:conda和pip比较 python包管理工具:conda和pip比较
文章来源https://www.jianshu.com/p/5601dab5c9e5 Conda和pip通常被认为几乎完全相同。虽然这两个工具的某些功能重叠,但它们设计用于不同的目的。 Pip是Python Packaging Auth
2020-05-19
下一篇 
Python中的序列 Python中的序列
1、序列类型的分类 容器序列:list、tuple、deque 扁平序列:str、bytes、bytearray、array.array 可变序列:list、deque、bytearray、array、dict、set 不可变序列:str、
2020-05-17
  目录