在Centos6.X上安装fabric,以及安装过程中的填坑
因为一个项目的安装用的是fab python.py的方式,所以这次的任务是在比较老的系统centos6.8上安装fabric。
fabric对python的版本要求比较高,至少2.7+。而centos6.8默认是2.6。
安装步骤:
1.下载编译安装源码包的python
在编译之前先要做一些准备工作,否则后面可能遇到一些问题,这些坑已经填了,希望大家就不要再掉下去:
(1)安装openssl,openssl-devel,gcc-c++
(2)编辑Moudule/Setup.dist 中的以下几行:
#SSL=/usr/local/ssl #_ssl _ssl.c \ #-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ #-L$(SSL)/lib -lssl -lcrypto
将这几行的注释去掉(不然运行python xxx可能遇到 the ssl module in Python is not available 的错误)
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
将这行的注释去掉(不然运行python xxx可能遇到 zlib not available的错误)
(3)常规的几个编译安装动作
./configure --prefix=/usr/local/python2.7
make
make install
2.重新链接以下python的执行文件
ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7 --这个为后面安装setuptools做准备,不然会报错exec: python2.7: not found
完成后,验证版本 python -V ,看是否是预期的2.7而非2.6
3.安装setuptools
后面安装pip需要setuptools,所以需要先安装,不然python setup.py install的时候可能会报错No module named setuptools。
下载 setuptools-0.6c11-py2.7.egg ,然后执行sh setuptools-0.6c11-py2.7.egg 即可
4.安装pip
下载 pip,解压,执行python setup.py install
安装好之后,重新链接以下pip的执行文件
ln -fs /usr/local/python2.7/bin/pip /usr/bin/pip
5.安装fabric的相应包
安装fabric需要一些依赖的python包,如paramiko等。
因为这次任务的环境是内网环境,故采用的办法是,先在外网找一个6.8的机器,然后用pip downloadonly fabric的方式,将相应的whl文件下载下来再拷贝到内网环境上。
最后执行 pip install Fabric-xxx-py2-none-any.whl即可
安装好之后,重新链接以下fab的执行文件
ln -fs /usr/local/python2.7/bin/fab /usr/bin/fab
安装完之后在linux下,执行下fab命令,看是否正常执行即可。
6.一些补充:
由于yum使用了原来python2.6的一些脚本,所以需要将yum重新指向原来的python2.6解释器才可以使用
修改/usr/bin/yum 将最上面的路径修改为: #!/usr/bin/python2.6
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)