星光

在默认版本为Python2的系统上进行Python3开发

id=49548954


 

关于 Python2 和 Python3的选择问题,在推上已经表达过了自己的看法,还专门在GitHub的博客上写了篇文

Why I use Python3?

在本篇文章中,我将会介绍如何在系统默认为Python2的情况下进行更好的Python3编码

你可能要说就算系统是默认Python2,你用Python3命令也可以进入对应的交互界面,编好的脚本直接用Python3执行不就行了嘛

我只是想说,你图样图森破了。。。


 

场景回顾:

最近在做课题时(是的,我立马用上Python了),我通过导入xlrd模块,把xls文件(说白了就是excel表格)中的数据读取到Python中进行解析,然后进行各种处理和分析,但是我要处理的数据很多都是中文的啊。。。然后Python2的转义处理(无论是列表还是字典)让我简直想吐

于是我就想用Python3来进行处理,但是尼玛 pip  xlrd 怎么的都是安装到Python2中去。于是,我就去琢磨了下解决办法,写篇文分享下


 

首先请确保你Python2的pip可以正常使用,执行以下指令

sudo在用pip装东西时我觉得是非常必要的,不然会出现很多奇奇怪怪的情况

virtualenv是Python开发者的福音,他创造了独立的沙盒环境,解决了各种版本坑问题(不光光是Python本身,很多框架也有版本的区别)

就是纯Python3主环境下(ArchLinux),virtualenv依旧可以用来起到分隔生产环境,打包的效果,这个在这里就不细讲了

然后确保你的机子上装了Python3,你可以去官网下,然后安装,(我就是这么做的)也可以用Homebrew进行安装(后者是不少前辈推荐的,我也用这个很舒服的装了node和coffeescript)

然后就是找到你自己的Python3所在的路径了

不同的安装方式和版本可能位置不一样,这个很多教程忽略了

然后在当前目录下,创建一个虚拟环境

激活

然后你键入Python会发现默认用的就是Python3啦~sudo pip install 一下,就装到了Python3中了

退出虚拟环境

然后你安装的库,其实都在env目录里面,下次要用的话,到对应路径激活即可

这也意味着,你可以对应项目安装不同的包,实现最小化管理,因为是虚拟化的,在安装模块中遇到问题,解决起来也会轻松不少

不推荐,直接改系统本身默认的Python版本,这样会造成很多依赖Python2的软件或者程序安装或者运行故障,以上

 

如无特殊声明,欢迎转载,但是请注明来自星之所在《在默认版本为Python2的系统上进行Python3开发》

评论

  1. manageryzy #1

    一直感觉python这个东西很操蛋,很不喜欢这种没有花括号的语言

    回复
    2015-04-3
    • Starlight

      熟悉了Python估计会觉得花括号很累赘。。话说你前段时间提到的coffeescript不是很大程度仿Python的嘛。。

      回复
      2015-04-4
  2. Trii Hsia #2

    怎么有一种你的博客马上要变成纯技术博客的感觉…

    回复
    2015-04-5
    • Starlight

      有吗。。。我真的是编程小白233

      回复
      2015-04-5
    • Starlight

      准备写一篇关于JSON转换的文,之后准备写些其他的了~毕竟最近睡得比较早,不怎么补番了

      回复
      2015-04-5
      • Trii Hsia

        最近睡的比较晚,原因就是我玩电脑的时间必须和写作业的时间成正比…一般都是很不正常的比例。最近我几乎什么都没做,即使这样我也感觉自已都快忙死了…最近我一直在看番,不过一直在看以前看过的番。

        回复
        2015-04-6
  3. eric #3

    好习惯,永远都用virtualenv来

    回复
    2015-04-24