• Python安装第三方库(pip/conda、easy_install、setup.py)


    常用的python第三方库安装工具大概有三种:

    1、pip (分为cmd和conda)(推荐)
    2、easy_install                               
    3、setup.py                                  
    
    • 1
    • 2
    • 3

    常见的安装包格式:

    1、whl (推荐,一种二进制的)
    2、egg(第一个主流打包格式)
    4、tar.gz 或 zip
    
    whl和egg文件可以直接将后缀名改为zip,作为zip解压,但在有网的模式下,whl不必解压,用pip的安装命令即可
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.setup.py

    setup.py常用于tar.gz 或 zip的源码安装,由于pypi官网下载包非常慢,因此有人会选择下载后安装,也有人会去GitHub上下载源码来安装,setup.py常被用与后者。

    一般GitHub上的源码大多为zip、tar.gz、tar.zip、 tar.bz2这类压缩文件,而它们往往自带setup.py文件。

    将其解压到想要安装的路径下,先编译后安装

    安装:

    1、下载zip并解压;
    2、打开cmd,进入解压后的路径;
    3、依次执行以下代码
    
    • 1
    • 2
    • 3

    命令如下:

     python setup.py build
     python setup.py install
    
    • 1
    • 2

    Windows的安装包存放的路径为:python安装路径下的\Lib\site-packages。(若要安装在conda的虚拟环境,则在其env中)
    Linux的路径应该为: /usr/lib/python3.x/site-packages。 (路径不一定,视情况而定,有的可能在/usr/local/lib)

    缺点:

    但是这种安装方法有一种非常大的毛病,就是使用该方法安装的包,无法通过pip uninstall卸载干净。

    需要手动到/usr/bin/python3.x/site-package(其中python处为对应的Python版本)目录下删除。对于类UNIX系统来说,64位机更麻烦的是,在/usr目录下分为lib和lib64,这两个目录下都会有。
    一般情况下其实不建议使用这种,pip其实也是可以直接安装压缩包的,后面会讲。

    2.easy_install

    实际上,在Python中安装第三方模块,是通过setuptools这个工具完成的.egg包安装。而easy_install和pip是封装了setuptools的两个包管理工具。

    我们要使用easy_install,首先需要setuptools,当然,现在的版本里都自带了,python3.6以后的略微有点不一样,后面会讲。

    但是还是可以提一下:

    1、打开官网 http://pypi.python.org/pypi/setuptools ,目前最新版的只有whl和zip两种格式(以前是有exe的,现在似乎没有了,但我感觉现在更方便一点)。

    但是whl前提是要用pip安装,而pip有的时候,我们可能需要使用easy_install才能安装,有pip我们也不怎么用easy_install了,所以我们只能下载zip。

    2、下载后解压,会发现里面有easy_install.py和setup.py,可以直接使用。
    如果是exe,安装后双击 ez_setup.py安装,或在cmd执行命令:

    python easy_install.py
    
    • 1

    安装好easy_install之后就可以用来安装包了,但是建议将easy_install所在路径加入环境变量PATH,否则每次安装包都需要先进入该路径。

    Windows的easy_install路径为:Python下的Scripts目录。
    Linux的路径应该为: /usr/local/bin。 (路径不一定,视情况而定)

    easy_install的使用方法,如安装pip,直接在后面加上包名即可:

    # 指定包名
     easy_install pip
     
     # 指定网址
     easy_install -f *.html pip
     
     # 安装tar/egg
     easy_install  package.tar/egg
     
     # 安装zip,先解压,然后进入
     easy_install .
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    卸载

    easy_install -m pip
    
    • 1

    升级

    easy_install --upgrade pip
    
    • 1

    3.pip

    联网直接pip安装.whl格式的包

    使用

    # 安装
    pip install package
    
    # 卸载
    pip uninstall package
    
    # 查看所安装的包
    pip list
    
    # 搜索包
    pip search package
    
    # 更新
    pip install -U package
    
    # 重定向输出项目使用的库到 requirements.txt文件内
    pip freeze > requirements.txt
    
    #在其他环境上安装项目的依赖
    pip install -r requirements.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    安装tar.gz和zip使用pip是最简单的,不需要解压,前两种还需要解压。

    pip批量安装

    有的时候你会发现在没有网络的时候,你想要安装wheel文件,直接pip会出错,这里有一种办法,并且可以批量,就是利用requirements.txt文件。但是,这之前我们还要知道,我们之所以安装wheel文件会失败,是因为本机的python不支持下载的whl文件。

    1、我们将所有包下好,包括whl、tar.gz等。
    2、然后将包的版本写入requirements.txt,并将它们放在一起。
    3、可以直接执行命令,也可以将该命令写入脚本。
    
    • 1
    • 2
    • 3

    命令如下:

    pip install --use-wheel --no-index --find-links=./ -r requirements.txt
    
    • 1

    批量卸载

    pip uninstall -y -r requirements.txt
    
    • 1

    其中-y代表卸载时不询问是否删除,即yes的意思,可以省略,但在脚本里的时候还是加上。

    4. conda

    还可以在conda的虚拟环境中直接使用pip install

    # 安装(python2)
    pip install virtualenv
    
    # 创建虚拟环境,需要预先创建一个目录
    virtualenv venv_name
    
    # Windows激活虚拟环境
    #1、进入虚拟环境所在目录下的Scripts目录
    cd venv_name/Scripts
    
    # 2、激活
    activate
    
    # 3、退出,linux同
    deactivate
    
    # linux进入并激活虚拟环境目录
    source venv_name/bin/activate
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    黑马学Docker(三)
    java8 实现递归查询
    Anaconda创建虚拟环境的常见命令
    Ubuntu18.04:ORB-SLAM3使用数据集构建地图和保存点云地图
    【算法】莫队
    ora2pg使用记录
    遭遇[myers@airmail.cc].Devos勒索病毒:数据恢复和保护方法
    什么是自恢复保险丝
    ElementUI嵌套页面及关联增删查改实现
    [hackthebox] Meow
  • 原文地址:https://blog.csdn.net/weixin_54338498/article/details/127864257