安装前基础环境

1. win7虚拟机CentOS7.6系统

2. 网络环境通过NAT方式

3. 已经配置到yum仓库并系统自带有python2.7

安装前准备

1. python3.6.5源码包:https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz(可以在window下载,也可以在linux通过wget下载)

2. pypy3二进制包:https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.1.1-linux64.tar.bz2

开始安装

源码包安装python3.6.5

安装所需依赖包

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc

解压源码包并进入

tar xf Python-3.6.5

cd Python-3.6.5

配置安装参数

./configure --prefix=/usr/local/python3 enable-optimizations --with-ssl

编译并安装

make &&make install

安装pypy

方式一:通过yum安装pypy

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

yum -y install pypy-libs pypy pypy-devel

pypy rpm下载地址:http://pkgs.org/search/?keyword=pypy

方式二:通过可移植二进制文件安装pypy

文件地址:https://github.com/squeaky-pl/portable-pypy

下载解压运行即可

tar xf PyPy3.6

方式三:通过官方的二进制文件安装pypy

提示:使用时会警告缺少库文件,难解决

文件地址:https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.1.1-linux64.tar.bz2

基本配置

添加软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

配置环境变量

vim ~/.bashrc

export PATH=$PATH:/usr/local/python3/bin

export PATH=$PATH:/root/pypy3.6-v7.1.1-linux64/bin

因为yum是依赖python的,所以这里我们修改了默认的python,就要要修改yum,让其运行指向旧的版本

vim /usr/bin/yum

修改#!/usr/bin/python 为 #!/usr/bin/python2

vim /usr/libexec/urlgrabber-ext-down

vim /usr/bin/yum-config-manager

同上

安装virtualenv工具

pip3 install virtualenv

指定pypy作为解释器创建虚拟环境

virtualenv -p /root/pypy3.6-v7.1.1-linux64/bin/pypy3 mypypy3

激活虚拟环境

source mypypy3/bin/activate

获取并安装pip

wget https://bootstrap.pypa.io/get-pip.py

pypy get-pip.py

更换pip镜像源

(1)阿里云 http://mirrors.aliyun.com/pypi/simple/

(2)豆瓣http://pypi.douban.com/simple/

(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

(5)华中科技大学http://pypi.hustunique.com/

方法1:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ flask  --trusted-host  pypi.tuna.tsinghua.edu.cn

方法2:

《linux》中在~/.pip/pip.conf文件中添加如下内容(若未创建则创建文件和文件夹)

[global]

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]

trusted-host = https://pypi.tuna.tsinghua.edu.cn

《window》中在c:\\user\用户名\pip\pip.ini中添加同上内容

python安装常见问题

1. configure: error: no acceptable C compiler found in $PATH

解决:yum install -y gcc

2. zipimport.ZipImportError: can’t decompress data

解决:安装zlib zlib-devel

3. Running virtualenv with interpreter /root/pypy3.6-v7.1.1-linux64/bin/pypy3

/root/pypy3.6-v7.1.1-linux64/bin/pypy3: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

解决:安装yum install bzip2-libs,如果已经存在,搜索find / -name libbz2.so的位置,创建一个软链接连接libbz2.so.1.0.6

ln -s /usr/lib64/libbz2.so.1.0.6 /usr/lib64/libbz2.so.1.0

4. /root/pypy3.6-v7.1.1-linux64/lib-python/3/hashlib.py:172: RuntimeWarning: The _hashlib module is not available, falling back to a much slower implementation (libcrypto.so.1.0.0: cannot open shared object file: No such file or directory)

RuntimeWarning)

解决:同上,安装yum install libssh,创建libcrypto.so.1.0.0软链接指向/usr/lib64/下的libcrypto.so.1.0.0文件

5. ./bin/pip3 -V

/root/pypy3.6-v7.1.1-linux64/lib-python/3/hashlib.py:172: RuntimeWarning: The _hashlib module is not available, falling back to a much slower implementation (libssl.so.1.0.0: cannot open shared object file: No such file or directory)

RuntimeWarning)

解决:同上

CentOS下安装python3环境及pypy环境的更多相关文章

  1. CentOS下安装Python3

    目录 CentOS下安装Python3 下载 解压 配置 gcc sudo权限 vim 编译 安装 添加软链接 pip安装出错,找不到SSL 安装virtualenv和virtualenvwrappe ...

  2. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

  3. centos下安装python3.6.2

    一.下载 官网地址:https://www.python.org/downloads/source/ 我下载的是最新的3.6.2rc版本 # cd /opt/ wget https://www.pyt ...

  4. CentOS下安装Python3.4

    系统环境:CentOS 7.2 CentOS7安装Python3.4 ,让Python2和3共存 编译需要的一些包: yum -y groupinstall "Development too ...

  5. CentOS下安装python3.x版本

    现在python都到了3.x版本,但是centos中自带的python仍然是2.7版本的,所以想把python换成3.x版本的. 但是这个地方有个坑,你要是直接编译安装了python3.x之后,估计你 ...

  6. centos下安装redis/mysql等基础环境

    1.修改语言 阿里云的ECS默认语言是:en_US.UTF-8,需要改成zh_CN.UTF-8 修改方法:vim /etc/locale.conf,然后重启. 查看方法:echo $LANG 2.安装 ...

  7. 关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

    3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y#make install若在安装前移除了/usr/bin ...

  8. 【转载】关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

    3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y #make install 原文:https://blo ...

  9. centos 下安装python3.6.2

    具体详情: http://www.cnblogs.com/vurtne-lu/p/7068521.html

随机推荐

  1. Java实现 LeetCode 587 安装栅栏(图算法转换成数学问题)

    587. 安装栅栏 在一个二维的花园中,有一些用 (x, y) 坐标表示的树.由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树.只有当所有的树都被绳子包围时,花园才能围好栅栏.你需要找到正好 ...

  2. Java实现 蓝桥杯 算法训练 乘法次数

    乘法次数 资源限制 时间限制:1.0s 内存限制:999.4MB 问题描述 给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘.如24:22=22(第一次乘),2 ...

  3. Java实现 LeetCode 43 字符串相乘

    43. 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2& ...

  4. Java实现 蓝桥杯 素因子去重

    素因子去重 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出格式 输出一行,包含一个整数p. 样例输入 1000 样 ...

  5. Java实现 蓝桥杯 历届试题 波动数列

    问题描述 观察这个数列: 1 3 0 2 -1 1 -2 - 这个数列中后一项总是比前一项增加2或者减少3. 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b ...

  6. java实现第七届蓝桥杯四平方和

    四平方和 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^ ...

  7. svg 贝塞尔曲线图解(记录)

    path路径绘制中,绘制贝塞尔曲线的命令包括: Q 二次贝赛尔曲线 x1,y1 x,y T 平滑二次贝塞尔曲线 x,y C 曲线(curveto) x1,y1 x2,y2 x,y S 平滑曲线 x2, ...

  8. React 为什么要把事件挂载到 document 上 & 事件机制源码分析

    前言 我们都知道 React 组件绑定事件的本质是代理到 document 上,然而面试被问到,为什么要这么设计,有什么好处吗? 我知道肯定不会是因为虚拟 DOM 的原因,因为 Vue 的事件就能挂载 ...

  9. Hive的压缩存储和简单优化

    一.Hive的压缩和存储 1,MapReduce支持的压缩编码 压缩格式 工具 算法 文件扩展名 是否可切分 对应的编码/解码器 DEFLATE 无 DEFLATE .deflate 否 org.ap ...

  10. .net core3.1 abp动态菜单和动态权限(动态菜单实现和动态权限添加) (三)

    我们来创建动态菜单吧 首先,先对动态菜单的概念.操作.流程进行约束:1.Host和各个Tenant有自己的自定义菜单2.Host和各个Tenant的权限与自定义菜单相关联2.Tenant有一套默认的菜 ...