CentOS7安装Python3,开发SocketIO 客户端

参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573


步骤一 查询当前版本

查询当前机器上的Python版本

[root@localhost bin]# cd /usr/bin
[root@localhost bin]# ll python*
lrwxrwxrwx root root 4月 : python -> python2
lrwxrwxrwx root root 4月 : python2 -> python2.
-rwxr-xr-x root root 4月 : python2.
-rwxr-xr-x root root 4月 : python2.-config
lrwxrwxrwx root root 4月 : python2-config -> python2.-config
lrwxrwxrwx root root 4月 : python-config -> python2-config

可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。

步骤二 安装pip【可选】

【如果安装了宝塔等环境,此步骤省略】

# 运行这个命令添加epel扩展源
yum -y install epel-release # 安装pip
yum install python-pip

步骤三 编译安装Python3

安装依赖项

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel readline-devel tk-devel gcc make

安装sqlite【如果需要使用sqlite数据库则安装,否则可省略】

yum install sqlite,sqlite-devel

下载编译安装 python3,如果没安装 wget,执行如下命令安装 wget

yum install wget
# 下载
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
# 解压
xz -d Python-3.6..tar.xz
tar -xf Python-3.6..tar #进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.6.
# 配置 自定义安装目录为:/usr/local/python3
./configure prefix=/usr/local/python3
# 编译安装
make && make install

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录。

步骤四 添加软链接 【可选】

【如果安装了宝塔等环境,此步骤省略】

#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
mv /usr/bin/pip /usr/bin/pip.bak #添加python3的软链接
ln -s /usr/local/python3/bin/python3. /usr/bin/python
#添加pip3的软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip #测试是否安装成功了
python -V

步骤五 更改Yum配置【可选】

因为yum要使用python2才能执行。

vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2 vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2

步骤六 升级 pip【可选】

wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate
python get-pip.py

安装 python-socketio

安装 python-socketio

/usr/local/python3/bin/pip3 install python-socketio

python-socketio 使用文档:https://python-socketio.readthedocs.io/en/latest/client.html

安装 pymysql

/usr/local/python3/bin/pip3 install pymysql

开发基于 python3 + python-socket 应用

第一行:/usr/local/python3/bin/python3.6 为自定义的Python3的可执行文件地址

#! /usr/local/python3/bin/python3.6

import socketio

server = 'http://localhost:12345'

sio = socketio.Client()

@sio.on('connect')
def on_connect():
print('[SOCKETIO] connected to server ' + server) @sio.on('disconnect')
def on_disconnect():
print('[SOCKETIO] disconnected from server') if __name__ == '__main__':
sio.connect(server)
sio.wait()

第一种执行脚本方法:

/usr/local/python3/bin/python3. test.py

第二种执行脚本方法:

chmod  test.py
./test.py

CentOS7 安装Python3,开发SocketIO 客户端的更多相关文章

  1. Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim

    一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...

  2. centos7 安装 python3.5

    centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...

  3. Centos7 安装python3

    Centos7 安装python3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #安装sqlite-devel yum -y ...

  4. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  5. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。

    centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...

  6. centos7安装python3.7

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  7. CentOS7 安装Python3.6.8

    CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...

  8. 解决Centos7安装python3后pip工具无法使用

    问题描述: Centos7安装python3,正常流程全部配置完成,python3,pip3的软链接也建立了 但是python3可以正常使用,而pip3报错,无法找到文件或目录 解决方法: which ...

  9. centos7安装python3.6独立的virtualenv环境

    centos7安装python3.6独立的virtualenv环境 1.编译安装python3.6环境# 安装依赖yum -y install zlib-devel bzip2-devel opens ...

随机推荐

  1. C# Socket网络编程精华篇 (转)

    http://www.cnblogs.com/weilengdeyu/archive/2013/03/08/2949101.html 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的 ...

  2. MySQL数据库引擎MyISAM和InnoDB的区别介绍

    MySQL数据库有多种存储引擎:比如:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERATED.ARCHIVE.CSV.BL ...

  3. Vue(十三)自定义指令

    自定义指令 分类:全局指令.局部指令 1. 自定义全局指令 使用全局方法Vue.directive(指令ID,定义对象) 2. 自定义局部指令   <!DOCTYPE html> < ...

  4. 【组合&取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843

    http://exam.upc.edu.cn/problem.php?id=3843&csrf=8oK86t2oHSgi3Q4SX3qOJGeENe6pfXri 时间限制: 1 Sec 内存限 ...

  5. [赶集网] 【MySql】赶集网mysql开发36条军规

    [赶集网] [MySql]赶集网mysql开发36条军规 (一)核心军规(1)不在数据库做运算   cpu计算务必移至业务层:(2)控制单表数据量   int型不超过1000w,含char则不超过50 ...

  6. C# RabbitMQ延迟队列功能实战项目演练

    一.需求背景 当用户在商城上进行下单支付,我们假设如果8小时没有进行支付,那么就后台自动对该笔交易的状态修改为订单关闭取消,同时给用户发送一份邮件提醒.那么我们应用程序如何实现这样的需求场景呢?在之前 ...

  7. centos7证书安全登录

    生成一对密钥,本地私钥匹配线上主机的公钥进行登录,比密码登录更加安全方便. 本文适用MAC/Linux的本地环境 1.本地生成一对密钥 ssh-keygen -t rsa 2.把生成的公钥上传到线上主 ...

  8. eclipse项目名称后面括号里的名称和项目名称不一样

    解决方案: 1:项目右键-属性(Properties)-Web Project Setting, 改名称注意:这个名字将成为你在浏览器访问的路径 2:打开项目目录的.setting文件夹,随便一个文本 ...

  9. shell编程学习笔记(十):Shell中的for循环

    shell编程中可以实现for循环遍历 先来写一个最简单的吧,循环输出从1到10,脚本内容为: #! /bin/sh for i in {1..10} do echo $i done 上面的代码从1到 ...

  10. Python禁用GC优化性能

    Python使用的(Garbage Collection, GC)机制是引用计数(Reference Count),其原理是为每一个内存对象进行引用计数,因此当有大量的对象新建或删除时,必须要进行大量 ...