离线安装Python、Locust以及第三方依赖包
1、安装编译Python
1.1、解压python安装包
tar -zxvf Python-3.7.0.tgz
1.2、安装依赖环境
yum -y install zlib zlib-develyum -y install bzip2 bzip2-develyum -y install ncurses ncurses-develyum -y install readline readline-develyum -y install openssl openssl-develyum -y install openssl-staticyum -y install xz lzma xz-develyum -y install sqlite sqlite-develyum -y install gdbm gdbm-develyum -y install tk tk-develyum -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/python3ln -s /usr/python3/bin/pip3 /usr/bin/pip3
1.5、验证安装结果
2、对python三方包进行离线
找一个可以联网的环境安装Python3.7,然后安装自己需要的三方包,进行以下步骤的操作
2.1、制作requirement.txt
pip3 freeze > requirement.txt
以下是从当前环境中导出的三方包的名称和对应的版本
certifi==2020.6.20chardet==3.0.4click==7.1.2ConfigArgParse==1.2.3Flask==1.1.2Flask-BasicAuth==0.2.0gevent==20.9.0geventhttpclient==1.4.4greenlet==0.4.17idna==2.10itsdangerous==1.1.0Jinja2==2.11.2locust==1.3.2MarkupSafe==1.1.1msgpack==1.0.0psutil==5.7.3pyzmq==19.0.2requests==2.24.0six==1.15.0urllib3==1.25.11Werkzeug==1.0.1zope.event==4.5.0zope.interface==5.1.2requests-toolbelt==0.9.1
如果需要升级pip和setuptools也可以手动加上对应的包名和当前环境中的版本
pip==20.2.4setuptools==50.3.2
2.2、批量下载离线包
pip download -d ./locust -r requirement.txt[root@node235 locust]# lltotal 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.whlInstalling collected packages: pip Found existing installation: pip 10.0.1 Uninstalling pip-10.0.1: Successfully uninstalled pip-10.0.1Successfully 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.whlInstalling collected packages: setuptools Attempting uninstall: setuptools Found existing installation: setuptools 39.0.1 Uninstalling setuptools-39.0.1: Successfully uninstalled setuptools-39.0.1Successfully installed setuptools-50.3.22、批量安装离线包[root@node235 locust]# pip3 install --no-index --find-links=./ -r requirement.txtLooking in links: ./Processing ./certifi-2020.6.20-py2.py3-none-any.whlProcessing ./chardet-3.0.4-py2.py3-none-any.whlProcessing ./click-7.1.2-py2.py3-none-any.whlProcessing ./ConfigArgParse-1.2.3.tar.gzProcessing ./Flask-1.1.2-py2.py3-none-any.whlProcessing ./Flask-BasicAuth-0.2.0.tar.gzProcessing ./geventhttpclient-1.4.4-cp37-cp37m-manylinux2010_x86_64.whlProcessing ./greenlet-0.4.17-cp37-cp37m-manylinux1_x86_64.whlProcessing ./idna-2.10-py2.py3-none-any.whlProcessing ./itsdangerous-1.1.0-py2.py3-none-any.whlProcessing ./Jinja2-2.11.2-py2.py3-none-any.whlProcessing ./locust-1.3.2-py3-none-any.whlProcessing ./MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whlProcessing ./msgpack-1.0.0-cp37-cp37m-manylinux1_x86_64.whlProcessing ./psutil-5.7.3.tar.gzProcessing ./pyzmq-19.0.2-cp37-cp37m-manylinux1_x86_64.whlProcessing ./requests-2.24.0-py2.py3-none-any.whlProcessing ./six-1.15.0-py2.py3-none-any.whlProcessing ./urllib3-1.25.11-py2.py3-none-any.whlProcessing ./Werkzeug-1.0.1-py2.py3-none-any.whlProcessing ./zope.event-4.5.0-py2.py3-none-any.whlProcessing ./zope.interface-5.1.2-cp37-cp37m-manylinux2010_x86_64.whlRequirement 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.whlProcessing ./gevent-20.9.0-cp37-cp37m-manylinux2010_x86_64.whlUsing 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 ... doneSuccessfully 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 listPackage Version----------------- ---------certifi 2020.6.20chardet 3.0.4click 7.1.2ConfigArgParse 1.2.3Flask 1.1.2Flask-BasicAuth 0.2.0gevent 20.9.0geventhttpclient 1.4.4greenlet 0.4.17idna 2.10itsdangerous 1.1.0Jinja2 2.11.2locust 1.3.2MarkupSafe 1.1.1msgpack 1.0.0pip 20.2.4psutil 5.7.3pyzmq 19.0.2requests 2.24.0requests-toolbelt 0.9.1setuptools 50.3.2six 1.15.0urllib3 1.25.11Werkzeug 1.0.1zope.event 4.5.0zope.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]# locustCould not find any locustfile! Ensure file ends in '.py' and see --help for available options.
个人博客 蜗牛
赞 (0)