CentOS下安装python3环境及pypy环境
安装前基础环境
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环境的更多相关文章
- CentOS下安装Python3
目录 CentOS下安装Python3 下载 解压 配置 gcc sudo权限 vim 编译 安装 添加软链接 pip安装出错,找不到SSL 安装virtualenv和virtualenvwrappe ...
- centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'
centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...
- centos下安装python3.6.2
一.下载 官网地址:https://www.python.org/downloads/source/ 我下载的是最新的3.6.2rc版本 # cd /opt/ wget https://www.pyt ...
- CentOS下安装Python3.4
系统环境:CentOS 7.2 CentOS7安装Python3.4 ,让Python2和3共存 编译需要的一些包: yum -y groupinstall "Development too ...
- CentOS下安装python3.x版本
现在python都到了3.x版本,但是centos中自带的python仍然是2.7版本的,所以想把python换成3.x版本的. 但是这个地方有个坑,你要是直接编译安装了python3.x之后,估计你 ...
- centos下安装redis/mysql等基础环境
1.修改语言 阿里云的ECS默认语言是:en_US.UTF-8,需要改成zh_CN.UTF-8 修改方法:vim /etc/locale.conf,然后重启. 查看方法:echo $LANG 2.安装 ...
- 关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y#make install若在安装前移除了/usr/bin ...
- 【转载】关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y #make install 原文:https://blo ...
- centos 下安装python3.6.2
具体详情: http://www.cnblogs.com/vurtne-lu/p/7068521.html
随机推荐
- (Java实现) 整数区间
一.题目描述 给n个区间,形式为[a, b],a和b均为整数,且a < b. 求一个最小的整数点的集合,使得每个区间至少2个不同的元素(整数点)属于这个集合. 求这个集合的元素个数. 输入 第1 ...
- (Java实现) 删数问题
删数问题(需知道的数学定理) 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数.对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的 ...
- Java实现 LeetCode 665 非递减数列(暴力)
665. 非递减数列 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列. 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 < ...
- Java实现 蓝桥杯 算法提高 秘密行动
试题 算法提高 秘密行动 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面.这座大厦有一个神奇的特点,每层的高度都不一样, ...
- Java实现 LeetCode 89 格雷编码
89. 格雷编码 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列.格雷编码序列必须以 0 开头. 示例 1: 输 ...
- 第六届蓝桥杯JavaC组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.机器人数目 少年宫新近邮购了小机器人配件,共有3类,其中, A类含有:8个轮子,1个传感器 B类含有: 6个轮子,3个传感器 C类含有 ...
- Java实现 蓝桥杯 算法提高 矩形靶
试题 算法提高 矩形靶 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 在矩形的世界里任何事物都是矩形的,矩形的枪靶,甚至矩形的子弹.现在给你一张NM的枪靶,同时告诉你子弹的大小为( ...
- Java实现第九届蓝桥杯倍数问题
倍数问题 题目描述 [题目描述] 众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数.但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼.现在小葱给了你 n 个数,希望你从这 n ...
- java解决poi导出excel文字水印,导出excel不可操作问题
首先需求是用户提出导出excel数据需使用水印备注其用途: 其实就是在导出excel的同时带有自定义文字水印的导出. 那么我们首先想到的肯定是以一个什么样的思路去解决该问题,首先查找poi导出exce ...
- 欧几里得算法求最大公约数-《Algorithms Fourth Edition》第1章
最大公约数(Greatest Common Divisor, GCD),是指2个或N个整数共有约数中最大的一个.a,b的最大公约数记为(a, b).相对应的是最小公倍数,记为[a, b]. 在求最大公 ...