Mac安装pyenv踩过的坑

本文详细介绍了使用Pyenv管理Python版本时可能遇到的问题及解决方案,包括如何正确安装和配置Pyenv,解决镜像源下载速度慢的问题,以及如何处理zipimport.ZipImportError等错误。同时,还提供了配置依赖和加速国内下载的方法。
部署运行你感兴趣的模型镜像

优点不多说了,坑如下:

使用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

 

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

pip install git+https://github.com/2noise/ChatTTS.git Collecting git+https://github.com/2noise/ChatTTS.git Cloning https://github.com/2noise/ChatTTS.git to /private/var/folders/4f/yjcgr0wj4k53gtt0gzrc7v2m0000ks/T/pip-req-build-pjyg084t Running command git clone --filter=blob:none --quiet https://github.com/2noise/ChatTTS.git /private/var/folders/4f/yjcgr0wj4k53gtt0gzrc7v2m0000ks/T/pip-req-build-pjyg084t Resolved https://github.com/2noise/ChatTTS.git to commit c26573a61ebde14ac456d8ed4b9f96908d3dd8fa Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: numba in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (0.60.0) Requirement already satisfied: numpy<3.0.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (2.0.2) Requirement already satisfied: pybase16384 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (0.3.9) Requirement already satisfied: torch>=2.1.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (2.8.0) Requirement already satisfied: torchaudio in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (2.8.0) Requirement already satisfied: tqdm in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (4.67.1) Requirement already satisfied: transformers>=4.41.1 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (4.57.3) Requirement already satisfied: vector_quantize_pytorch in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (1.27.15) Requirement already satisfied: vocos in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from chattts==0.0.0) (0.1.0) Requirement already satisfied: filelock in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from torch>=2.1.0->chattts==0.0.0) (3.18.0) Requirement already satisfied: typing-extensions>=4.10.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from torch>=2.1.0->chattts==0.0.0) (4.13.2) Requirement already satisfied: sympy>=1.13.3 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from torch>=2.1.0->chattts==0.0.0) (1.14.0) Requirement already satisfied: networkx in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from torch>=2.1.0->chattts==0.0.0) (3.2.1) Requirement already satisfied: jinja2 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from torch>=2.1.0->chattts==0.0.0) (3.1.6) Requirement already satisfied: fsspec in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from torch>=2.1.0->chattts==0.0.0) (2025.10.0) Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from sympy>=1.13.3->torch>=2.1.0->chattts==0.0.0) (1.3.0) Requirement already satisfied: huggingface-hub<1.0,>=0.34.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (0.36.0) Requirement already satisfied: packaging>=20.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (25.0) Requirement already satisfied: pyyaml>=5.1 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (6.0.1) Requirement already satisfied: regex!=2019.12.17 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (2025.11.3) Requirement already satisfied: requests in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (2.32.3) Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (0.22.1) Requirement already satisfied: safetensors>=0.4.3 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from transformers>=4.41.1->chattts==0.0.0) (0.7.0) Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from huggingface-hub<1.0,>=0.34.0->transformers>=4.41.1->chattts==0.0.0) (1.2.0) Requirement already satisfied: MarkupSafe>=2.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from jinja2->torch>=2.1.0->chattts==0.0.0) (3.0.2) Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from numba->chattts==0.0.0) (0.43.0) Requirement already satisfied: cffi>=1.0.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from pybase16384->chattts==0.0.0) (1.17.1) Requirement already satisfied: pycparser in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from cffi>=1.0.0->pybase16384->chattts==0.0.0) (2.22) Requirement already satisfied: charset-normalizer<4,>=2 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from requests->transformers>=4.41.1->chattts==0.0.0) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from requests->transformers>=4.41.1->chattts==0.0.0) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from requests->transformers>=4.41.1->chattts==0.0.0) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from requests->transformers>=4.41.1->chattts==0.0.0) (2025.1.31) Requirement already satisfied: einops>=0.8.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from vector_quantize_pytorch->chattts==0.0.0) (0.8.1) Requirement already satisfied: einx>=0.3.0 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from vector_quantize_pytorch->chattts==0.0.0) (0.3.0) Requirement already satisfied: frozendict in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from einx>=0.3.0->vector_quantize_pytorch->chattts==0.0.0) (2.4.7) Requirement already satisfied: scipy in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from vocos->chattts==0.0.0) (1.13.1) Requirement already satisfied: encodec==0.1.1 in /Users/didi/.pyenv/versions/3.9.20/lib/python3.9/site-packages (from vocos->chattts==0.0.0) (0.1.1) Building wheels for collected packages: chattts Building wheel for chattts (pyproject.toml) ... done Created wheel for chattts: filename=chattts-0.0.0-py3-none-any.whl size=193206 sha256=c30975dd1e3b72c0e58694fa44189d85a7e3ad4eeb6782ee51f0a96ca397aeba Stored in directory: /private/var/folders/4f/yjcgr0wj4k53gtt0gzrc7v2m0000ks/T/pip-ephem-wheel-cache-g4g6ydw3/wheels/bb/9b/56/3a4f277b1c1936f331fbc2739b41f53862ea9cf52acc374b91 Successfully built chattts Installing collected packages: chattts Successfully installed chattts-0.0.0怎么还是装的这个?
最新发布
12-30
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值