问题描述

环境: CentOS6.5

想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本。 
之前的做法是直接从源码安装python3,替换掉现有的开发环境,但在随后使用过程中发现系统很多脚本依赖python2.6,直接替换会导致很多软件不正常。 
今天发现有朋友使用virtualenv搭建python3开发环境,这里记录下,也方便我以后查阅。

安装python3

安装脚本如下:

wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
tar zxvf Python-3.4..tgz
cd Python-3.4.
./configure --enable-shared --prefix=/usr/local
make && make altinstall

运行以上命令后,你可以在目录/usr/local/bin/python3.4 看到新编译的环境。

注意: 这里我们使用的是make altinstall,如果使用make install,你将会看到在系统中有两个不同版本的Python在/usr/bin/目录中。这将会导致很多问题,而且不好处理。

如果提示找不到so文件,可以添加以下变量:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

安装其它版本的python可从官网下载: https://www.python.org/

搭建python3开发环境

1、安装virtualenv,可以通过pip进行安装,命令如下:

pip install virtualenv

如果没有安装pip,可以通过以下命令安装:

yum install python-pip

2、创建虚拟环境:

virtualenv -p /usr/local/bin/python3. py34env

执行上述命令后,会在当前目录创建py34env文件夹,该文件夹即为我们创建的虚拟环境。

3、激活虚拟环境:

source py34env/bin/activate

3.1、在虚拟环境中安装ipython

pip install ipython

如果安装过程中提示如下错误:

Can't connect to HTTPS URL because the SSL module is not available. - skipping 

请安装以下库:

yum install openssl-devel 

然后重新编译安装Python:

./configure --prefix=/usr/local &&  make && make altinstall  

3.2、在虚拟环境中启动ipython:

ipython

4、退出虚拟环境

deactivate                             

其它

CentOS 6下使用 python3.6的pyenv 问题

1、在操作系统中安装zlib和bz2相关库

yum -y install bzip2 bzip2-devel ncurses openssl openssl-devel openssl-static xz lzma xz-devel sqlite sqlite-devel gdbm gdbm-devel tk tk-devel libffi-devel

2、编译

export CFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib64"
export LD_LIBRARY_PATH=/usr/lib64
make distclean
./configure --enable-optimozations --enable-shared --prefix=/usr/local
make -j
sudo make altinstall

3、使用

/usr/local/python/bin/pyvenv py36env
source ~/env/py36env/bin/activate

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2015/20150607_使用virtualenv搭建python3开发环境.md

欢迎补充

使用virtualenv搭建python3开发环境的更多相关文章

  1. Windows使用virtualenv搭建flask开发环境

    virtualenv: VirtualEnv用于在一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够: 在没有权限的情况下安装新套件 不同应用可以使用不同 ...

  2. 使用virtualenv搭建python3的环境

    转:http://blog.csdn.net/liuchunming033/article/details/46008301 转:http://www.jb51.net/article/85527.h ...

  3. Python3笔记002 - 1.2 搭建python开发环境

    第1章 认识python 1.2 搭建python开发环境 1.2.1 python开发环境概述 python开发环境常见的操作系统: Windows Mac OS Linux 1.2.2 安装pyt ...

  4. Sublime text 3搭建Python开发环境及常用插件安装 转载

    Sublime text 3搭建Python开发环境及常用插件安装 一.环境准备 1.官方网站地址 2.Windows 10 3.Sublime Text 3 + 官网购买license(Just a ...

  5. Ubuntu系统下搭建Python开发环境

    之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...

  6. AI应用开发实战 - 从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 建议和反馈,请发送到 https ...

  7. 在 ubuntu18.04 中搭建 Django 开发环境

    在Ubuntu 18.04 安装 python3.pip3.pycharm,搭建 Django 开发环境. 1.安装 python3 pip3 sudo apt-get install python3 ...

  8. 搭建 MobileNet-SSD 开发环境并使用 VOC 数据集训练 TensorFlow 模型

    原文地址:搭建 MobileNet-SSD 开发环境并使用 VOC 数据集训练 TensorFlow 模型 0x00 环境 OS: Ubuntu 1810 x64 Anaconda: 4.6.12 P ...

  9. Pycharm搭建Django开发环境

    Pycharm搭建Django开发环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们大家都知道Django是python都一个web框架,因此大家需要自行安装python环境 ...

随机推荐

  1. libuv源码分析前言

    Libevent,libev,libuv三者的区别所在? libevent提供了全套解决方案(事件库,非阻塞IO库,http库,DNS客户端),然而libevent使用全局变量,导致非线程安全.它的w ...

  2. Android笔记——AsyncTask介绍

    AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操 ...

  3. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  4. 帮我做个APP,给你20万,做不做?

    一.为什么要写这篇文章 前段时间,有个辞职 创业的同事(做法务的)  问我 开发一个 新闻类的APP要多少钱,产品.UI.接口.后台管理页  他们啥都没有,想全部外包. 我 并没有在外包公司做过,也没 ...

  5. Android线程管理之ExecutorService线程池

    前言: 上篇学习了线程Thread的使用,今天来学习一下线程池ExecutorService. 线程管理相关文章地址: Android线程管理之Thread使用总结 Android线程管理之Execu ...

  6. 《HelloGitHub月刊》第09期

    <HelloGitHub>第09期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 前言 转眼就到年底了,月刊做到了第09期,感谢大家一路的支持和帮助

  7. 高仿QQ顶部控件之IOS SegmentView

    经常会看到QQ上面有一个 消息和电话 的顶部面板,这个空间是IOS7的分段控制,android中没有这个控件,今天在威哥的微信公众号中成功gank到这个自定义控件的实现,下面跟着尝试一波. 首先是定义 ...

  8. SQLServer学习笔记系列1

    一.前言 一直自己没有学习做笔记的习惯,所以为了加强自己对知识的深入理解,决定将学习笔记写下来,希望向各位大牛们学习交流! 不当之处请斧正!在此感谢!这边就先从学习Sqlserver写起,自己本身对数 ...

  9. 基于HTML5实现3D热图Heatmap应用

    Heatmap热图通过众多数据点信息,汇聚成直观可视化颜色效果,热图已广泛被应用于气象预报.医疗成像.机房温度监控等行业,甚至应用于竞技体育领域的数据分析. http://www.hightopo.c ...

  10. RabbitMQ原理与相关操作(一)

    小编是菜鸟一枚,最近想试试MQ相关的技术,所以自己看了下RabbitMQ官网,试着写下自己的理解与操作的过程. 刚开始的第一篇,原理只介绍 生产者.消费者.队列,至于其他的内容,会在后续中陆续补齐. ...