离线安装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.

个人博客 蜗牛

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容