Mac安装pyenv踩过的坑

5 篇文章 0 订阅

优点不多说了,坑如下:

使用pyenv来管理,实际上这个玩意有个不足之处是:(参考这个

Pyenv只会管理通过Pyenv安装的Python版本,你自己在Python官网上下载的直接安装的Pyenv并不能被管理!!!同样除了系统默认的python包外,其他直接安装的python包是识别不出来的,即使用brew安装的也识别不出来。

Git地址:https://github.com/pyenv/pyenv

Mac安装可以直接用Homebrew:

brew install pyenv

常用命令:

pyenv version  # 当前的Python版本
这是个坑:会显示:system (set by /root/.pyenv/version)  # system表示系统安装的版本
pyenv versions  # 所有的Python版本(不在pyenv中安装的不会显示)
pyenv install --list  # 可安装的Python列表
pyenv install 3.7.2  # 安装指定的Python版本
pyenv global 3.7.2  # 指定全局版本(设定完这个,然后去终端输入python或python3依旧是系统版本python3.7.2则没有该命令,应该说该命令只在pyenv环境下生效)
pyenv uninstall 3.7.2  # 删除指定的Python版本

pyenv install 3.7.2 坑:

镜像源下载Python太慢:

参考这里,这个讲的原理我喜欢:

其实呢, Pyenv 下载各种 Python 的二进制程序包,都是会首先放到自己的这个 ~/.pyenv/cache 目录下面的。在需要下载什么文件之前, Pyenv 会先到这个目录找以前是否下载过了,如果已经下载好就直接使用这个目录里面对应的文件。

没有cache目录,mkdir一个即可。然后把不管你从什么途径下载的Python安装包放进去即可,就省的换国内镜像源了,源码安装包后缀要.tar.xz格式的。

pyenv install 3.7.2坑:

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

系统需要安装的依赖:

brew install zlib
brew install sqlite  # 若依旧报错,其他依赖根据log信息自行安装

安装完依赖依旧有坑:

要配置相应的配置文件:

参考这里,我的是~/.zshrc文件

vim ~/.zshrc
# For compilers to find  xxx  you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/sqlite/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/sqlite/include"
# For pkg-config to find  xxx  you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/sqlite/lib/pkgconfig"

log报错给出的配置建议没有这个,要加上这个:${...}玩意,并且还要

source ~/.zshrc

使之生效。不过在下次进入,重新pyenv install 3.6.5的时候,依旧需要重新source ~/.zshrc,需要永久生效参考这个吧,我没试。

最后才折腾成功,用pyenv安装上Python其他版本。

至于包管理,也很头疼,pyenv-virtualenv的使用方法以后用到再搞搞。目前直接在pycharm配置Python解释器时安装的,PyCharm菜单→Preference→Project:xxx→Project Interpreter→添加完相应的Python版本后,再在相应的版本下双击、搜索、安装包。

就OJBK了。

参考资料:

https://www.jianshu.com/p/cea9259d87df

https://www.jianshu.com/p/8aaf2525fa80

https://www.mywaiting.com/weblogs/pyenv-install-for-virtualenv-and-accelerate-in-mainland-china/

https://github.com/jiansoung/issues-list/issues/13

https://segmentfault.com/q/1010000004376181

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值