poetry 推荐使用 pyenv 进行本地 python 的多版本管理,以前用过,但是也没什么特别的印象了,特此记录一下使用情况
安装
Win 平台不支持这个工具,残念。。。
通过 brew 安装, brew 加速的教程在另一篇教程里有提到
1 | brew update |
在 profile 中添加配置使能,我本地用的 zsh, 各版本的 shell 稍有区别,指定的文件不一样
1 | echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc |
安装推荐的工具机,各种系统不一样
For MacOS, install Xcode Command Line Tools (xcode-select –install) and HomeBrew, then optional but best install
1 | brew install openssl readline sqlite3 xz zlib |
在系统中可以通过输入 echo $(pyenv root)
拿到目录地址
常用命令
直接输入 pyenv
查看所有的 cmd 信息
安装某个版本的 python
1 | pyenv install 3.7.8 |
如果没打全,他会给提示可用的版本,很人性化。安装的 python 版本会被放到 ~/.pyenv/versions/
管理
删除对应版本
pyenv uninstall 3.7.8
或直接去 versions 文件夹下删除
显示可用版本
pyenv versions
1 | pyenv versions |
切换版本
多用 pyenv version
查看当前的环境版本信息
使用前的情况:系统自带 python 版本 2.7.16, pyenv 可用版本 3.6.5 和 3.7.8。此时 cmd 输入 python -V
给出版本 2.7.16
全局切换版本 pyenv gloabl 3.7.8
,他会将这个版本存放到 .pyenv/version
文件中,再打开终端查看版本,变为 3.7.8
。
pyenv local 3.6.5
可以指定 folder 下的 python 版本,他会将版本信息写入当前目录下的 .python-version
文件中
如果想要指定终端的 python 版本,可以用 pyenv shell xxx
, 这个我没有需求,未亲测
作用范围和其编程语言一样,范围最精确的那个生效 shell > local > gloabl
查看 python 路径
pyenv which python
更新
每次新安装版本,记得跑一下 pyenv rehash
更新信息
Issues
pyenv install 下载失败, 报错
1 | Jack > ~ > pyenv install 3.7.3 |
可以自行下载对应的 tar.xz 文件然后放到 pyenv 的 cache 文件夹下,pyenv install 的时候会取对应的安装包进行安装
1 | wget -P $(pyenv root)/cache https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz |