当前位置: 首页 > news >正文

离线安装 Python 2.7, paramiko 和 tornado

无非就是离线安装, 步骤比较繁琐, 记录一下.

需求很简单, 一个离线安装的 Python, 能跑 tornado 和 paramiko

 

1. 离线安装 Python 2.7

tar axf Python-2.7.12.tgz

cd Python-2.7.12

./configure --prefix=/home/doge/opt

make

make install

 

2. 安装 setuptools

tar axf setuptools-28.8.0.tar.gz

cd setuptools-28.8.0

../opt/bin/python setup.py install

 

3. 安装 pip

tar axf pip-9.0.1.tar.gz

cd pip-9.0.1

../opt/bin/python setup.py install

 

4. 安装 paramiko

#1. 安装 pyasn1

./opt/bin/easy_install pyasn1-0.1.9-py2.7.egg 


#2. 安装 ipaddress

./opt/bin/pip install ipaddress-1.0.17-py2-none-any.whl


#3. 安装 enum34

./opt/bin/pip install enum34-1.1.6-py2-none-any.whl 


#4. 安装 six

./opt/bin/pip install six-1.10.0-py2.py3-none-any.whl


#5. 安装 idna

./opt/bin/pip install idna-2.1-py2.py3-none-any.whl


#6. 安装 pycparser

tar axf pycparser-2.17.tar.gz

cd pycparser-2.17

../opt/bin/python setup.py install

#7. 安装 cffi

./opt/bin/pip install cffi-1.9.1-cp27-cp27m-manylinux1_x86_64.whl

#8. 安装 cryptography

tar axf cryptography-1.6.tar.gz

cd cryptography-1.6

../opt/bin/python setup.py install


#9. 安装 paramiko

./opt/bin/pip install paramiko-2.0.2-py2.py3-none-any.whl

 

5. 安装 tornado

#1. 安装 backports_abc

tar axf backports_abc-0.5.tar.gz

cd backports_abc-0.5

../opt/bin/python setup.py install


#2. 安装 backports.ssl_match_hostname

tar axf backports.ssl_match_hostname-3.5.0.1.tar.gz

cd backports.ssl_match_hostname-3.5.0.1

../opt/bin/python setup.py install


#3. 安装 certifi

./opt/bin/pip install certifi-2016.9.26-py2.py3-none-any.whl


#4. 安装 ordereddict

tar axf ordereddict-1.1.tar.gz

cd ordereddict-1.1

../opt/bin/python setup.py install


#5. 安装 six

./opt/bin/pip install six-1.10.0-py2.py3-none-any.whl


#6. 安装 singledispatch

tar axf singledispatch-3.4.0.3.tar.gz

cd singledispatch-3.4.0.3

../opt/bin/python setup.py install


#7. 安装 tornado

tar axf tornado-4.4.2.tar.gz

cd tornado-4.4.2

../opt/bin/python setup.py install

 

6. 总结

有 .whl 或 .egg 的, 就不要使用 .tgz, cffi 就很难在离线状态下从源码编译成功.

 

7. 脚本

#!/bin/bash
mkdir doge && cd doge || exit -1
wget http://10.34.58.43:8080/install.tar
tar xf install.tar && rm -f install.tar
tar axf Python-2.7.12.tgz
cd Python-2.7.12 && ./configure --prefix=/home/doge/opt && make && make install && cd .. || exit -1
tar axf setuptools-28.8.0.tar.gz
cd setuptools-28.8.0 && ../opt/bin/python setup.py install && cd .. || exit -1
tar axf pip-9.0.1.tar.gz
cd pip-9.0.1 && ../opt/bin/python setup.py install && cd .. || exit -1
./opt/bin/easy_install pyasn1-0.1.9-py2.7.egg
./opt/bin/pip install ipaddress-1.0.17-py2-none-any.whl
./opt/bin/pip install enum34-1.1.6-py2-none-any.whl
./opt/bin/pip install six-1.10.0-py2.py3-none-any.whl
./opt/bin/pip install idna-2.1-py2.py3-none-any.whl

  tar axf pycparser-2.17.tar.gz
  cd pycparser-2.17 && ../opt/bin/python setup.py install && cd .. || exit -1
  ./opt/bin/pip install cffi-1.9.1-cp27-cp27m-manylinux1_x86_64.whl

tar axf cryptography-1.6.tar.gz
cd cryptography-1.6 && ../opt/bin/python setup.py install && cd .. || exit -1
./opt/bin/pip install paramiko-2.0.2-py2.py3-none-any.whl
tar axf backports_abc-0.5.tar.gz
cd backports_abc-0.5 && ../opt/bin/python setup.py install && cd .. || exit -1
tar axf backports.ssl_match_hostname-3.5.0.1.tar.gz
cd backports.ssl_match_hostname-3.5.0.1 && ../opt/bin/python setup.py install && cd .. || exit -1
./opt/bin/pip install certifi-2016.9.26-py2.py3-none-any.whl
tar axf ordereddict-1.1.tar.gz
cd ordereddict-1.1 && ../opt/bin/python setup.py install && cd .. || exit -1
./opt/bin/pip install six-1.10.0-py2.py3-none-any.whl
tar axf singledispatch-3.4.0.3.tar.gz
cd singledispatch-3.4.0.3 && ../opt/bin/python setup.py install && cd .. || exit -1
tar axf tornado-4.4.2.tar.gz
cd tornado-4.4.2 && ../opt/bin/python setup.py install && cd .. || exit -1

 

转载于:https://www.cnblogs.com/senjougahara/p/6090000.html

相关文章:

  • 线程组
  • Android图表库MPAndroidChart(十一)——多层级的堆叠条形图
  • Odoo 二次开发教程(五)-新API的介绍与应用
  • 代码托管工具 git
  • How can I determine the URL that a local Git repository was originally cloned from?
  • Idea14解决JSP/JS文件需要重启问题解决
  • 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题
  • java设置代理的几种方式
  • 二叉查找树转双向链表JAVA实现
  • VC++ 一个简单的Log类
  • java基础加强
  • 23种设计模式总结(三)
  • 一个WIndows Server 2008 R2 AD组策略复制排错过程(Warning 13508)
  • 两个基本概念 标称型数据和数值型数据
  • bootstrap 不兼容ie8 的问题
  • [译]如何构建服务器端web组件,为何要构建?
  • CentOS从零开始部署Nodejs项目
  •  D - 粉碎叛乱F - 其他起义
  • Js基础知识(四) - js运行原理与机制
  • Mybatis初体验
  • SpiderData 2019年2月25日 DApp数据排行榜
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 构建工具 - 收藏集 - 掘金
  • 前端面试题总结
  • 前端知识点整理(待续)
  • 写代码的正确姿势
  • gunicorn工作原理
  • ​什么是bug?bug的源头在哪里?
  • !!java web学习笔记(一到五)
  • #define,static,const,三种常量的区别
  • $(function(){})与(function($){....})(jQuery)的区别
  • $L^p$ 调和函数恒为零
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (zhuan) 一些RL的文献(及笔记)
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)计算机毕业设计高校学生选课系统
  • (蓝桥杯每日一题)love
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)拼包函数及网络封包的异常处理(含代码)
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • 、写入Shellcode到注册表上线
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net6 webapi log4net完整配置使用流程
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .Net下的签名与混淆
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @Repository 注解
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)