• 技术文章 >后端开发 >Python教程

    在同一台电脑下如何进行 Python 2 与 3 的切换?

    2016-06-06 16:22:58原创883
    老师用的是 Python 2,但是我觉得自己现在学的话学个新点儿的比较好,2 和 3 据说差别还挺大,所以两个版本都装了,自己学的时候用 3,跑老师的程序时用 2。
    我的电脑是 Win 7,现在系统默认调用的是 2,如果在执行前加上“C:\python33\python.exe”就可以调用 3,但是这样太麻烦了,我在环境变量的 path 中加入“C:\python33”也没有效果,不知道还应该怎么设置可以方便的进行切换?

    回复内容:

    好吧,我来给题主介绍个神器,virtualenv,能创建若干相互隔离的python workspace,不仅能指定python版本,连packages都能不同。
    撸过几个开源的python项目别人都推荐用这个。
    How to use Python virtualenv
    Use different Python version with virtualenv Windows 上的 Python 自带启动器 py.exe,默认安装到系统盘的 system32 文件夹里。如果你同时安装了 Python 2 和 Python 3,用的时候直接在终端里输入:
    py -3
    
    1.
    virtualenv
    这基本是python开发的标配,然后你就可以控制在一个目录下用一套python环境

    2.
    PyScripter也是有切换python版本的功能 你可以把python3里的python.exe文件改名为python3.exe
    这样的话2和3的执行命令能够分开了,也就能够实现你切换的需要了 为什么我在 Windows 上安装的时候都是环境变量都是自动写入的? 有一个很通用的解决方法,原理详见3. Using Python on Windows
    python3.3或更高版本在安装时会同时把py.exe 和 pyw.exe 运行器复制到系统目录%SYSTEMROOT% 下。

    如果你平时通过命令行运行python那么只要执行时,输入
    py filename.py
    或者
    py -3 filename.py
    
    Python 3.3 提供了一个新的Launcher来解决Windows上面的版本切换问题.

    官方描述:
    The Python launcher for Windows is a utility which aids in the location and execution of different Python versions. It allows scripts (or the command-line) to indicate a preference for a specific Python version, and will locate and execute that version. reference: 3. Using Python on Windows

    简单的说, 在安装了Python 3.3的基础上, 保证py在环境变量中. 从命令行调用python:
    py -2.7
    py -3
    
    裝兩個比如路徑
    D:\python27
    D:\python35

    然後去手動把 python27下面的python.exe改成python2.exe
    python35下面的python.exe改成python3.exe

    然後你的腳本第一行就加上類似
    #! D:\python27\python2.exe
    這樣的一行就是調用python2
    要調用python3同理 我提供一个办法 首先装一个软件 Enthough Canopy, 这是有一个带有各种科学计算python库的发行版本,诸如panda,numpy 还有各种画图库都内置了很方便。

    Canopy中还集成了Pyhton包的在线升级和管理系统,很是方便。由于是商业级别的,Canopy的性能和稳定性很好。也提供免费的free版本和学术版本(用于教育科研也是免费的)。

    以前叫EPD,现在改名叫Canopy。Canopy是第一个将Ipython升级到2.3.0的发行版;MatPlotLib已升级到1.4.2;NumPy 1.8.1;Scipy 1.2.0. 但是它主要是追求性能和稳定性,所以不能指望所有的安装包都是最新的。

    如果你有学校邮箱的话,可以免费用商业版一年,如果没有也无妨,免费的库也很好用,而且题目本身问的是如何2.7和3.5同时安装,所以免费版就够了。canopy 是基于2.7的, 有32位和64位可选。装好之后,会有一个dos命令行的运行图标,
    这时,再自行去装python3.5版本即可,从一般命令行dos或者powershell进入就是3.5了。两者互不影响,库资源也都是独立的。这应该是比较好的解决方案了。
    如果老师要求的Python2是指Python2.7的话,你完全可以写出Python2和Python3几乎完全兼容的代码。

    技巧是写『向前兼容』的代码。 Writing Forwards Compatible Python Code

    实际应用过程中不是你写一份代码自己跑两遍,而是用Unit test在多个Python interpreter里自动跑。我看了一下PyCharm是支持配置多份test,每个test对应一个interpreter的。不清楚的看一下 How to Get Started with PyCharm and Have a Productive Python IDE 这里的Unittest章节。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Python path 33 Win exe
    Web大前端开发直播班

    相关文章推荐

    • 归纳总结Python标准库• Python数据类型详解之字符串、数字• 详细介绍Python之Pandas知识点• Python归纳总结之json标准库• 一起聊聊Python的编码样式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网