当前位置 主页 > 网站技术 > 代码类 >

    Python3离线安装Requests模块问题

    栏目:代码类 时间:2019-11-05 21:04

    最近运维上需要在测试环境调用http的post请求,实现自动化日切,我看了下我会的编程,也就python能符合我的要求,且简单好操作。但是在实际操作过程遇到了一些问题,其中最大的就是测试环境的机器是外网隔离的,没法连外网进行直接安装部分模块,通过搜索和实践之后,简单说下我的经验。

    机器环境

    操作系统:Windows Server 2012 x64

    python3安装

    从 [官网] 下载最新的适合windows 的安装包。

    下载下来的python-3.7.4-amd64.exe,直接拷贝到测试环境的机器上,双击安装即可,需要注意的是,最好勾选 AddPython 3.7 to PATH,这样后期直接在cmd窗口中就可以调用python命令了。

    requests模块的依赖包检查

    在可以上网且已安装python的机器上检查requests模块需要哪些依赖包,要是没有依赖包,直接下载一个直接安装最好。

    在CMD命令窗口中输入 pip show requests

    C:\Users\Laycher>pip show requests
    Name: requests
    Version: 2.18.4
    Summary: Python HTTP for Humans.
    Home-page: http://python-requests.org
    Author: Kenneth Reitz
    Author-email: me@kennethreitz.org
    License: Apache 2.0
    Location: d:\program files\python3\lib\site-packages
    Requires: chardet, urllib3, idna, certifi
    Required-by:

    发现需要chardet,urllib3,idna,certifi

    下载依赖包模块和requests模块

    在网站 https://www.lfd.uci.edu/~gohlke/pythonlibs 上找到相应的程序,下载。

    certifi-2019.9.11-py2.py3-none-any.whl
    
    chardet-3.0.4-py2.py3-none-any.whl
    
    idna-2.8-py2.py3-none-any.whl
    
    requests-2.22.0-py2.py3-none-any.whl
    
    urllib3-1.25.6-py2.py3-none-any.whl
    

    安装模块

    将以上下载的文件传到测试环境。离线装模块。

    安装命令为 pip install XXXXX.whl

    切记,先安装依赖包,如果直接安装requests,由于有依赖包,还是会去连外网找依赖包。

    D:\软件>pip install certifi-2019.9.11-py2.py3-none-any.whl
    Processing d:\软件\certifi-2019.9.11-py2.py3-none-any.whl
    Installing collected packages: certifi
    Successfully installed certifi-2019.9.11
    D:\软件>pip install chardet-3.0.4-py2.py3-none-any.whl
    Processing d:\软件\chardet-3.0.4-py2.py3-none-any.whl
    Installing collected packages: chardet
    Successfully installed chardet-3.0.4
    D:\软件>pip install idna-2.8-py2.py3-none-any.whl
    Processing d:\软件\idna-2.8-py2.py3-none-any.whl
    Installing collected packages: idna
    Successfully installed idna-2.8
    D:\软件>pip install urllib3-1.25.6-py2.py3-none-any.whl
    Processing d:\软件\urllib3-1.25.6-py2.py3-none-any.whl
    Installing collected packages: urllib3
    Successfully installed urllib3-1.25.6
    D:\软件>pip install requests-2.22.0-py2.py3-none-any.whl
    Processing d:\软件\requests-2.22.0-py2.py3-none-any.whl
    Requirement already satisfied: idna in c:\users\administrator\appdata\local\prog
    rams\python\python37\lib\site-packages (from requests==2.22.0) (2.8)
    Requirement already satisfied: chardet in c:\users\administrator\appdata\local\p
    rograms\python\python37\lib\site-packages (from requests==2.22.0) (3.0.4)
    Requirement already satisfied: urllib3 in c:\users\administrator\appdata\local\p
    rograms\python\python37\lib\site-packages (from requests==2.22.0) (1.25.6)
    Requirement already satisfied: certifi in c:\users\administrator\appdata\local\p
    rograms\python\python37\lib\site-packages (from requests==2.22.0) (2019.9.11)
    Installing collected packages: requests
    Successfully installed requests-2.22.0