专栏首页Python | BlogMac os 10.14 安装pyenv遇到的坑

Mac os 10.14 安装pyenv遇到的坑

Mac os 10.14 安装pyenv遇到的坑

在MacOS10.14下,使用pyenv安装python3.7.0的时候,报错了,如下:

xwszt@Linxyz:~$ pyenv install 3.7.0
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0...
python-build: use readline from homebrew

BUILD FAILED (OS X 10.14 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/b_/4ggdxx_539g8cqp2wr2m5sph0000gn/T/python-build.20181012094932.14705
Results logged to /var/folders/b_/4ggdxx_539g8cqp2wr2m5sph0000gn/T/python-build.20181012094932.14705.log

Last 10 log lines:
  File "/private/var/folders/b_/4ggdxx_539g8cqp2wr2m5sph0000gn/T/python-build.20181012094932.14705/Python-3.7.0/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/private/var/folders/b_/4ggdxx_539g8cqp2wr2m5sph0000gn/T/python-build.20181012094932.14705/Python-3.7.0/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/private/var/folders/b_/4ggdxx_539g8cqp2wr2m5sph0000gn/T/python-build.20181012094932.14705/Python-3.7.0/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/private/var/folders/b_/4ggdxx_539g8cqp2wr2m5sph0000gn/T/python-build.20181012094932.14705/Python-3.7.0/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

注意最后两行,说明找不到zlib。

在网上找了很多文章,多数说要制定zlib的目录 /usr/include。事实上应该是10.14在xcode-select --install中去除了zlib,所以应该自己手动安装zlib。同样使用brew安装:

$ brew install zlib
==> Downloading https://homebrew.bintray.com/bottles/zlib-1.2.11.mojave.bottle.t
######################################################################## 100.0%
==> Pouring zlib-1.2.11.mojave.bottle.tar.gz
==> Caveats
zlib is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

For compilers to find zlib you may need to set:
  export LDFLAGS="-L/usr/local/opt/zlib/lib"
  export CPPFLAGS="-I/usr/local/opt/zlib/include"

For pkg-config to find zlib you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"

==> Summary
  /usr/local/Cellar/zlib/1.2.11: 12 files, 373KB
按照提示,还需要设置环境变量:

$ export LDFLAGS="-L/usr/local/opt/zlib/lib"
$ export CPPFLAGS="-I/usr/local/opt/zlib/include"
然后执行命令安装python

$ pyenv install 3.7.0
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0...
python-build: use readline from homebrew
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?

Installed Python-3.7.0 to /Users/xwszt/.pyenv/versions/3.7.0 到此为止,python3.7.0安装完成了,当然这里没有将sqlite3编译完成,这个可以通过brew install sqlite安装即可了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DIVERSITY IS ALL YOU NEED: 充满睿智的论述

    互信息从state action 到 state skill;action到skill就是提升一级抽象

    用户1908973
  • mysql ERROR 2002 (HY000): '/tmp/mysql.sock' 问题解决

    一直用的好好的,突然就不能用了, 然后在网上搜了一圈,什么改配置my.cnf, 什么改软连接啊,换用5.7版本,都用了一次,结论是都不对.

    solate
  • 减小 golang 编译出程序的体积

    在某些设备上动辄接近 10MB 的程序大小还是比较大的,这个时候可以采用 UPX 来进一步压缩。好处是占用磁盘空间小了,坏处是程序启动时会先进行一æ­¥解压缩,...

    solate
  • Mac安装Zookeeper带来的Zookeeper简单介绍及思考

    在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configur...

    needrunning
  • 基于macOS+VMware的GNS3内VM上公网

    笔者经常需要做网络实验,GNS3就是笔者最喜欢用的模拟器,为了便于实验,需要能从macos上直接ssh登陆模拟出来的vm,并且vm需要上公网。经过研究,已解决此...

    小慢哥Linux运维
  • 深入分析macOS CVE-2019-8507漏洞

    2019年3月25日,苹果发布了macOS Mojave 10.14.4和iOS 12.2。这两个版本修复了大量的安全漏洞,其中包括QuartzCore(即Co...

    FB客服
  • go 编译执行文件分发

    今天咱们不说go的语法知识,为什么不说语法了呢?因为咱们做了这么就的go东西全是在编辑器中运行的,大家是不是很想知道怎么在编辑器之外去执行go程序呢?(win的...

    大话swift
  • brew一直卡在Updating Homebrew的解决办法

    运行命令brew install pip3,结果界面一直卡在Updating Homebrew...上,有两种解决办法

    马哥Python
  • 事务背景介绍(1):MongoDB/WiredTiger中的底层时间戳

    MongoDB中的一些最新特性(如多文档ACID事务)需要对底层的WiredTiger存储引擎中进行基础性的增强。

    MongoDB中文社区
  • mac 安装TortoiseHg

    Clone TortoiseHg repository using Mercurial:

    solate

扫码关注云+社区

领取腾讯云代金券