zoukankan      html  css  js  c++  java
  • 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/

    方法1pip 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用户名pippip.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)

    解决:同上

     

  • 相关阅读:
    Android下加载GIF图片
    拍照、相册及裁剪的终极实现(一)——拍照及裁剪功能实现
    阿里巴巴矢量库
    ActiveAndroid 管理数据库
    利用box-shadow制作loading图
    适用于移动端的地址选择器
    常用的不易记忆的css自定义代码
    关于js中一个对象当做参数传递是按值传递还是按引用传递的个人看法
    JavaScript之函数柯里化
    CSS3实现图片渐入效果
  • 原文地址:https://www.cnblogs.com/welisit/p/11650234.html
Copyright © 2011-2022 走看看