• pyenv BUILD FAILED解决方法


    今天被python2.x的中文问题弄的头痛,发现python3.x对中文支持很好,但是又担心某些包不支持python3的版本。遂使用pyenv来管理python。

    操作系统:osx 10.11

    首先我使用了homebrew安装了pyenv,这一步在网上看到会出错,然后如何如何解决,但是幸运的是我这里并没有什么卵错误。本以为可以顺利结束了,问题来了

    问题:使用pyenv install 3.4.1时,下载之后出现了如下问题

    Downloading Python-3.4.1.tgz...-https://yyuu.github.io/pythons/44a3c1ef1c7ca3e4fd25242af80ed72da941203cb4ed1a8c1b724d9078965dd8
    Installing Python-3.4.1...
    
    BUILD FAILED (OS X 10.9.5 using python-build 20150124)
    
    Inspect or clean up the working tree at /var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726
    Results logged to /var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726.log
    
    Last 10 log lines:
      File "/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.1/Lib/ensurepip/__main__.py", line 4, in <module>
        ensurepip._main()
      File "/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.1/Lib/ensurepip/__init__.py", line 209, in _main
        default_pip=args.default_pip,
      File "/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.1/Lib/ensurepip/__init__.py", line 116, in bootstrap
        _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
      File "/private/var/folders/zf/1b6kcyd53hg0crv65j108_7m0000gn/T/python-build.20150127150918.87726/Python-3.4.1/Lib/ensurepip/__init__.py", line 40, in _run_pip
        import pip
    zipimport.ZipImportError: can't decompress data; zlib not available
    make: *** [install] Error 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    解决方法:使用如下语句安装即可解决问题

    CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install -v 3.4.1
    
    • 1
    • 2

    原因:

    zipimport.ZipImportError: can't decompress data; zlib not available
    
    • 1
    • 2

    至此安装新版本的python大功告成,可以使用pyenv versions查看安装结果。(此处星号应该在system上,小弟已经修改了python 的版本)

     system
    * 3.4.1 (set by /usr/local/var/pyenv/version)
    
    • 1
    • 2
    • 3

    另外,温馨提醒,在使用homebrew安装pyenv之后要安装homebrew的提示在.bash_profile中加入两句话,不知道和顺序有没有关系,我加反了之后就始终无法改变python的版本。

    就是这两句,可以使用brew info pyenv 查看 
    结果如下:

    pyenv: stable 20160310, HEAD
    Python version management
    https://github.com/yyuu/pyenv
    /usr/local/Cellar/pyenv/20160310 (473 files, 2.1M) *
      Built from source
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/pyenv.rb
    ==> Dependencies
    Recommended: autoconf ✔, pkg-config ✔, openssl ✔, readline ✔
    ==> Options
    --without-autoconf
        Build without autoconf support
    --without-openssl
        Build without openssl support
    --without-pkg-config
        Build without pkg-config support
    --without-readline
        Build without readline support
    --HEAD
        Install HEAD version
    ==> Caveats
    To use Homebrew's directories rather than ~/.pyenv add to your profile:
      export PYENV_ROOT=/usr/local/var/pyenv
    
    To enable shims and autocompletion add to your profile:
      if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    就是要加入如下两句:

    To use Homebrew's directories rather than ~/.pyenv add to your profile:
      export PYENV_ROOT=/usr/local/var/pyenv
    
    To enable shims and autocompletion add to your profile:
      if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    至此,使用pyenv global 3.4.1 即可成功切换python版本。

  • 相关阅读:
    初步学习“C#中is,as用法”(转载)
    SQL 语句性能调优
    算24点,给出四个数字,算出所有组合
    企业信息化实施先松后紧
    解决Json的DateTime格式问题
    Hadoop安装记录
    Test Blog by using windows live writer
    EL表达式获取对象属性的原理
    spring配置文件中配置sessionFactory失败
    Visual Studio 使用Web Deploy 3.6发布项目
  • 原文地址:https://www.cnblogs.com/yizhixuepython/p/9252083.html
Copyright © 2020-2023  润新知