zoukankan      html  css  js  c++  java
  • 离线安装Python、Locust以及第三方依赖包

    1、安装编译Python

    1.1、解压python安装包

    tar -zxvf Python-3.7.0.tgz 
    

    1.2、安装依赖环境

    yum -y install zlib zlib-devel
    yum -y install bzip2 bzip2-devel
    yum -y install ncurses ncurses-devel
    yum -y install readline readline-devel
    yum -y install openssl openssl-devel
    yum -y install openssl-static
    yum -y install xz lzma xz-devel
    yum -y install sqlite sqlite-devel
    yum -y install gdbm gdbm-devel
    yum -y install tk tk-devel
    yum -y install libffi libffi-devel
    

    1.3、安装完成后,进入文件夹,配置编译 --prefix=后跟的是python安装路径

     cd Python-3.7.0
     ./configure --prefix=/usr/python3
     make 
     make install
    

    1.4、然后创建软链接

    ln -s /usr/python3/bin/python3.7 /usr/bin/python3
    ln -s /usr/python3/bin/pip3 /usr/bin/pip3
    

    1.5、验证安装结果

    file
    file

    2、对python三方包进行离线

    找一个可以联网的环境安装Python3.7,然后安装自己需要的三方包,进行以下步骤的操作

    2.1、制作requirement.txt

    pip3 freeze > requirement.txt

    以下是从当前环境中导出的三方包的名称和对应的版本

    certifi==2020.6.20
    chardet==3.0.4
    click==7.1.2
    ConfigArgParse==1.2.3
    Flask==1.1.2
    Flask-BasicAuth==0.2.0
    gevent==20.9.0
    geventhttpclient==1.4.4
    greenlet==0.4.17
    idna==2.10
    itsdangerous==1.1.0
    Jinja2==2.11.2
    locust==1.3.2
    MarkupSafe==1.1.1
    msgpack==1.0.0
    psutil==5.7.3
    pyzmq==19.0.2
    requests==2.24.0
    six==1.15.0
    urllib3==1.25.11
    Werkzeug==1.0.1
    zope.event==4.5.0
    zope.interface==5.1.2
    requests-toolbelt==0.9.1
    

    如果需要升级pip和setuptools也可以手动加上对应的包名和当前环境中的版本

    pip==20.2.4
    setuptools==50.3.2
    

    2.2、批量下载离线包

    pip download -d ./locust -r requirement.txt
    
    [root@node235 locust]# ll
    total 11656
    -rwxrwxrwx 1 502 games  156576 Nov  5 15:24 certifi-2020.6.20-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  133356 Nov  5 15:24 chardet-3.0.4-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games   82780 Nov  5 15:24 click-7.1.2-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games   42700 Nov  5 15:24 ConfigArgParse-1.2.3.tar.gz
    -rwxrwxrwx 1 502 games   94570 Nov  5 15:24 Flask-1.1.2-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games   16052 Nov  5 15:24 Flask-BasicAuth-0.2.0.tar.gz
    -rwxrwxrwx 1 502 games 5455891 Nov  5 15:24 gevent-20.9.0-cp37-cp37m-manylinux2010_x86_64.whl
    -rwxrwxrwx 1 502 games   77226 Nov  5 15:24 geventhttpclient-1.4.4-cp37-cp37m-manylinux2010_x86_64.whl
    -rwxrwxrwx 1 502 games   45628 Nov  5 15:24 greenlet-0.4.17-cp37-cp37m-manylinux1_x86_64.whl
    -rwxrwxrwx 1 502 games   58811 Nov  5 15:24 idna-2.10-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games   16743 Nov  5 15:24 itsdangerous-1.1.0-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  125774 Nov  5 15:24 Jinja2-2.11.2-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  658670 Nov  5 15:24 locust-1.3.2-py3-none-any.whl
    -rwxrwxrwx 1 502 games   27523 Nov  5 15:24 MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl
    -rwxrwxrwx 1 502 games  275560 Nov  5 15:24 msgpack-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
    -rwxrwxrwx 1 502 games 1504817 Nov  5 15:24 pip-20.2.4-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  465556 Nov  5 15:24 psutil-5.7.3.tar.gz
    -rwxrwxrwx 1 502 games 1054485 Nov  5 15:24 pyzmq-19.0.2-cp37-cp37m-manylinux1_x86_64.whl
    -rwxrwxrwx 1 502 games   61826 Nov  5 15:24 requests-2.24.0-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games   54314 Nov  5 17:53 requests_toolbelt-0.9.1-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games     440 Nov  5 17:52 requirement.txt
    -rwxrwxrwx 1 502 games  785194 Nov  5 15:24 setuptools-50.3.2-py3-none-any.whl
    -rwxrwxrwx 1 502 games   10963 Nov  5 15:24 six-1.15.0-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  127978 Nov  5 15:24 urllib3-1.25.11-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  298631 Nov  5 15:24 Werkzeug-1.0.1-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games    6775 Nov  5 15:24 zope.event-4.5.0-py2.py3-none-any.whl
    -rwxrwxrwx 1 502 games  237336 Nov  5 15:24 zope.interface-5.1.2-cp37-cp37m-manylinux2010_x86_64.whl
    

    2.3、安装离线包

    必需先升级pip和setuptools,否则有些包安装失败
    1、安装指定的whl
    [root@node235 locust]# pip3 install pip-20.2.4-py2.py3-none-any.whl 
    Looking in indexes: http://yum.tbsite.ne/pypi/simple/
    Processing ./pip-20.2.4-py2.py3-none-any.whl
    Installing collected packages: pip
      Found existing installation: pip 10.0.1
        Uninstalling pip-10.0.1:
          Successfully uninstalled pip-10.0.1
    Successfully installed pip-20.2.4
    [root@node235 locust]# pip3 install setuptools-50.3.2-py3-none-any.whl 
    Looking in indexes: http://yum.tbsite.ne/pypi/simple/
    Processing ./setuptools-50.3.2-py3-none-any.whl
    Installing collected packages: setuptools
      Attempting uninstall: setuptools
        Found existing installation: setuptools 39.0.1
        Uninstalling setuptools-39.0.1:
          Successfully uninstalled setuptools-39.0.1
    Successfully installed setuptools-50.3.2
    2、批量安装离线包
    [root@node235 locust]# pip3 install --no-index --find-links=./ -r requirement.txt
    Looking in links: ./
    Processing ./certifi-2020.6.20-py2.py3-none-any.whl
    Processing ./chardet-3.0.4-py2.py3-none-any.whl
    Processing ./click-7.1.2-py2.py3-none-any.whl
    Processing ./ConfigArgParse-1.2.3.tar.gz
    Processing ./Flask-1.1.2-py2.py3-none-any.whl
    Processing ./Flask-BasicAuth-0.2.0.tar.gz
    Processing ./geventhttpclient-1.4.4-cp37-cp37m-manylinux2010_x86_64.whl
    Processing ./greenlet-0.4.17-cp37-cp37m-manylinux1_x86_64.whl
    Processing ./idna-2.10-py2.py3-none-any.whl
    Processing ./itsdangerous-1.1.0-py2.py3-none-any.whl
    Processing ./Jinja2-2.11.2-py2.py3-none-any.whl
    Processing ./locust-1.3.2-py3-none-any.whl
    Processing ./MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl
    Processing ./msgpack-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
    Processing ./psutil-5.7.3.tar.gz
    Processing ./pyzmq-19.0.2-cp37-cp37m-manylinux1_x86_64.whl
    Processing ./requests-2.24.0-py2.py3-none-any.whl
    Processing ./six-1.15.0-py2.py3-none-any.whl
    Processing ./urllib3-1.25.11-py2.py3-none-any.whl
    Processing ./Werkzeug-1.0.1-py2.py3-none-any.whl
    Processing ./zope.event-4.5.0-py2.py3-none-any.whl
    Processing ./zope.interface-5.1.2-cp37-cp37m-manylinux2010_x86_64.whl
    Requirement already satisfied: pip==20.2.4 in /usr/python3/lib/python3.7/site-packages (from -r requirement.txt (line 24)) (20.2.4)
    Requirement already satisfied: setuptools==50.3.2 in /usr/python3/lib/python3.7/site-packages (from -r requirement.txt (line 25)) (50.3.2)
    Processing ./requests_toolbelt-0.9.1-py2.py3-none-any.whl
    Processing ./gevent-20.9.0-cp37-cp37m-manylinux2010_x86_64.whl
    Using legacy 'setup.py install' for ConfigArgParse, since package 'wheel' is not installed.
    Using legacy 'setup.py install' for Flask-BasicAuth, since package 'wheel' is not installed.
    Using legacy 'setup.py install' for psutil, since package 'wheel' is not installed.
    Installing collected packages: certifi, chardet, click, ConfigArgParse, MarkupSafe, Jinja2, Werkzeug, itsdangerous, Flask, Flask-BasicAuth, six, greenlet, zope.event, zope.interface, gevent, geventhttpclient, idna, pyzmq, msgpack, psutil, urllib3, requests, locust, requests-toolbelt
        Running setup.py install for ConfigArgParse ... done
        Running setup.py install for Flask-BasicAuth ... done
        Running setup.py install for psutil ... done
    Successfully installed ConfigArgParse-1.2.3 Flask-1.1.2 Flask-BasicAuth-0.2.0 Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 certifi-2020.6.20 chardet-3.0.4 click-7.1.2 gevent-20.9.0 geventhttpclient-1.4.4 greenlet-0.4.17 idna-2.10 itsdangerous-1.1.0 locust-1.3.2 msgpack-1.0.0 psutil-5.7.3 pyzmq-19.0.2 requests-2.24.0 requests-toolbelt-0.9.1 six-1.15.0 urllib3-1.25.11 zope.event-4.5.0 zope.interface-5.1.2
    

    2.4、验证

    [root@node235 locust]# pip3 list
    Package           Version
    ----------------- ---------
    certifi           2020.6.20
    chardet           3.0.4
    click             7.1.2
    ConfigArgParse    1.2.3
    Flask             1.1.2
    Flask-BasicAuth   0.2.0
    gevent            20.9.0
    geventhttpclient  1.4.4
    greenlet          0.4.17
    idna              2.10
    itsdangerous      1.1.0
    Jinja2            2.11.2
    locust            1.3.2
    MarkupSafe        1.1.1
    msgpack           1.0.0
    pip               20.2.4
    psutil            5.7.3
    pyzmq             19.0.2
    requests          2.24.0
    requests-toolbelt 0.9.1
    setuptools        50.3.2
    six               1.15.0
    urllib3           1.25.11
    Werkzeug          1.0.1
    zope.event        4.5.0
    zope.interface    5.1.2
    

    2.5、创建locust软连接

    ln -s /usr/python3/bin/locust /usr/bin/locust
    [root@node235 locust]# ln -s /usr/python3/bin/locust /usr/bin/locust
    [root@node235 locust]# locust
    Could not find any locustfile! Ensure file ends in '.py' and see --help for available options.
    

    个人博客 蜗牛

  • 相关阅读:
    SA (后缀数组) 学习笔记
    loj2318 「NOIP2017」宝藏[状压DP]
    hdu4352 XHXJ's LIS[数位DP套状压DP+LIS$O(nlogn)$]
    【鸽】poj3311 Hie with the Pie[状压DP+Floyd]
    P1879 [USACO06NOV]玉米田Corn Fields[轮廓线DP]
    hdu4507 吉哥系列故事——恨7不成妻[数位DP]
    BZOJ3329 Xorequ[数位DP+递推矩阵快速幂]
    poj1015 Jury Compromise[背包]
    hdu3586 Information Disturbing[二分答案+树形DP]
    BZOJ4247 挂饰[背包]
  • 原文地址:https://www.cnblogs.com/codeobj/p/14030166.html
Copyright © 2011-2022 走看看