美文网首页 移动 前端 Python Android Java
mac是否应该使用系统自带的Python?

mac是否应该使用系统自带的Python?

作者: nextliving | 来源:发表于2018-04-22 14:21 被阅读5836次

    使用mac osx的朋友知道,mac osx系统自带python。那么,我们开发过程中是否应该使用系统自带的Python?有什么样的利和弊,如何规避利弊?本文将带你一探究竟。

    系统自带python窥探

    打开终端,输入以下命令:

    $ which python

    应该看到终端输出以下内容

    /usr/bin/python

    打印/usr/bin中的文件:

    ls -1 /usr/bin

    可以看到以下文件:

    
    pydoc
    
    pydoc2.6
    
    pydoc2.7
    
    python
    
    python-config
    
    python2.6
    
    python2.6-config
    
    python2.7
    
    python2.7-config
    
    pythonw
    
    pythonw2.6
    
    pythonw2.7
    
    

    python并不是真正的python程序,执行命令行程序python实际执行的是一个真正的系统默认的python程序,例如python2.7。可以使用以下命令查看系统默认的python程序版本:

    $python --version

    可以看到终端输出以下信息:

    2.7.10

    那么,如果想改变系统默认的python程序版本,比如从2.7.10改成2.6.9,该怎么做呢?根据StackExchange上这个问题,mac os下正确的做法有2种:

    方法1

    `$defaults write com.apple.versioner.python Version 2.6

    `

    方法2

    ~/.bash_profile添加下面一行:

    export VERSIONER_PYTHON_VERSION=2.6

    这2种方法都来自于苹果官方说明文档,查看文档方法为:

    $ man python

    不过网上很多文章建议不要随便更改系统默认python版本,可能引发无法预知的错误。

    事实上,/usr/bin/python2.7是一个符号链接文件(有关符号链接可以参考我的另一篇文章Homebrew安装Packages是否需要另外设置环境变量PATH?符号链接部分),使用以下命令查看它链接到哪里:

    ls -l /usr/bin/python2.7

    终端输出如下:

    
    lrwxr-xr-x 1 root wheel 75 3 22 18:33 /usr/bin/python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
    
    

    可以看到/usr/bin/python2.7符号链接文件最终指向的是../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

    使用系统自带Python的弊端

    • 系统自带的python版本比较旧,得不到python开发社区的支持,系统版本python无法及时更新,

    • 使用系统自带python的pip安装的package可能会在升级mac os系统的时候消失,需要重装。package升级时也可能遭遇各种问题,参见这个issue

    使用Homebrew安装最新的Python

    为什么要使用Homebrew安装Python?

    • 总能下载到最新版本的python

    • Homebrew版的python包含了最新的pip和setuptools工具

    安装步骤

    首先需要安装苹果公司提供的免费IDE工具Xcode,或者不安装Xcode,只安装Xcode的命令行工具:

    $ xcode-select --install

    其次需要安装Homebrew,安装方法参见官网http://brew.sh/

    接着执行

    $ brew update

    通常在新安装package的时候都会更新brew

    最后,使用brew安装python

    $ brew install python

    默认会安装python2.x版本,截止到本文写作时安装的是2.7.11版本,可以使用如下命令查看homebrew版python相关信息:

    $ which python

    终端输出

    /usr/local/bin/python

    这是因为Homebrew会把package安装到/usr/local/Cellar下,同时在/usr/local/bin建立符号链接指向/usr/local/Cellar下真正的package里的bin。

    用以下指令查看版本信息

    python --version

    终端输出

    2.7.11

    如果需要安装3.x版本python,请使用

    $ brew install python3

    参考

    相关文章

      网友评论

        本文标题:mac是否应该使用系统自带的Python?

        本文链接:https://www.haomeiwen.com/subject/dcqclftx.html