当前位置: 首页 > news >正文

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版本。

转载于:https://www.cnblogs.com/yizhixuepython/p/9252083.html

相关文章:

  • window10 vs 以管理员打开
  • Wincc用户登录VBS脚本
  • 网页插入腾讯视频
  • Java的注释文档和嵌入式文档
  • 这 10 款良心 Windows 软件,改变你对国产的认知
  • RTTI(运行时类型识别),typeid,dynamic_cast
  • php 获取某数组中出现次数最多的值(重复最多的值)与出现的次数
  • 跟老齐学Python从入门到精通
  • bzoj 2655: calc
  • Maven项目META-INF文件夹不存在的问题
  • bzoj1977 [BeiJing2010组队]次小生成树 Tree——严格次小生成树
  • [转帖]SAP MES生产执行系统解决方案
  • python并发编程:多进程-队列
  • TCP 总结
  • 如何优雅的写UI——(6)内存泄漏
  • 【Amaple教程】5. 插件
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Akka系列(七):Actor持久化之Akka persistence
  • Apache的80端口被占用以及访问时报错403
  • egg(89)--egg之redis的发布和订阅
  • EOS是什么
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JavaScript异步流程控制的前世今生
  • Laravel核心解读--Facades
  • MaxCompute访问TableStore(OTS) 数据
  • mysql 数据库四种事务隔离级别
  • MySQL-事务管理(基础)
  • Next.js之基础概念(二)
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python socket服务器端、客户端传送信息
  • Python十分钟制作属于你自己的个性logo
  • React-生命周期杂记
  • Twitter赢在开放,三年创造奇迹
  • 你不可错过的前端面试题(一)
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 提醒我喝水chrome插件开发指南
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 移动端高清、多屏适配方案
  • ​secrets --- 生成管理密码的安全随机数​
  • $refs 、$nextTic、动态组件、name的使用
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (MATLAB)第五章-矩阵运算
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (四)模仿学习-完成后台管理页面查询
  • (译)计算距离、方位和更多经纬度之间的点
  • (转载)Linux 多线程条件变量同步
  • .NET 设计模式初探
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [20170705]diff比较执行结果的内容.txt
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [C# 开发技巧]实现属于自己的截图工具