如何同时安装多个版本的Python?试试pyenv吧!

pyenv[1] 是 Python 的版本管理工具,利用它可以在同一台电脑上安装多个版本的 Python。

安装方式

方式一:MacOS 下可以直接通过 Homebrew 来安装

brew update
# 安装 pyenv
brew install pyenv
# 如果是升级时
brew upgrade pyenv

方式二:通过自动程序来安装

curl https://pyenv.run | bash

方式三:通过源码的方式来安装

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# 可选的:可以尝试编译一个动态的 bash 扩展来加速 Pyenv ,如果失败了也不用担心,Pyenv 仍然可以正常工作
cd $(pyenv root) && src/configure && make -C src

如果是通过源码来安装的话,需要升级 pyenv 时,可通过

cd $(pyenv root)
git fetch
git tag
git checkout {tag_name}
# eg:git checkout v0.1.0

添加环境变量

如果你是用的 Bash 则需要:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

如果你是用的 Zsh 则需要:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

pyenv 使用

检查 pyenv 是否安装成功

pyenv -v

查看 pyenv 指令列表

pyenv commands

查看所有可选的 python 版本

pyenv install -l

查看已经安装的所有 python 版本

# 版本号前面带有 * 号的,则证明当前使用的就是这个版本
pyenv versions

显示当前的 Python 版本及其本地路径

pyenv version

下载指定版本的 Python

# 比如这里下载 python 3.9.6
pyenv install 3.9.6

# 安装完毕之后记得刷新 pyenv shims
pyenv rehash

如果安装 python 比较慢时的解决方案:

首先在 pyenv 的根目录创建一个 cache 文件夹

mkdir -p $(pyenv root)/cache/

然后我们先执行一下安装命令,比如 pyenv install 3.9.6 它会显示出下载链接,此时,我们直接复制下载链接地址,通过浏览器下载,然后将下载后的 Python-3.9.6.tar.xz 文件放到 $(pyenv root)/cache/ 文件夹中,然后再次执行 pyenv install 3.9.6 命令即可,它会自动使用 cache 文件夹中的安装包。

下载后的 Python 直接在 $(pyenv root)/versions/ 目录下。

卸载指定版本的 Python

# 比如这里卸载 python 3.9.6
pyenv uninstall 3.9.6

切换 Python 版本

# 全局切换(系统全局用系统默认的 Python 比较好,不建议直接对其操作)
pyenv global 3.9.6

# 通过查看 Python 版本来确定是否切换成功
python -V

# 切换回系统版本
pyenv global system

# 用 local 进行指定版本切换,一般开发环境使用(只影响当前所在文件夹)
pyenv local 3.9.6

# 解除 local 设置
pyenv local --unset

# 当前 shell 会话切换,退出 shell 会话后失效
pyenv shell 3.9.6

# 解除 shell 设置
pyenv shell --unset

卸载 pyenv

# 如果是使用 homebrew 下载的 pyenv 时,卸载为
brew uninstall pyenv

# 如果是使用 git 拉取源码安装的 pyenv 时,卸载为
rm -rf $(pyenv root)

结合 pyenv 为每个项目建立自己的虚拟环境

如果用的是 pipenv 时

Pipenv 是个包管理工具,它综合了 virtualenv,pip 和 pyenv 三者的功能。可以使用 pipenv 这个工具来安装、卸载、跟踪和记录依赖性,并创建、使用和组织你的虚拟环境。

使用 Homebrew 安装 pipenv

# 安装 pipenv
brew update && brew install pipenv
# 更新 pipenv
brew update && brew upgrade pipenv

也可以使用 pip 来安装和升级 pipenv

# 安装 pipenv
pip install pipenv
# 更新 pipenv
pip install --upgrade pipenv

使用 pipenv 建立虚拟环境

# 如果系统中没有你想要的 Python 版本 {python_version} 时,pipenv 会调用 pyenv 来安装对应的 Python 版本
cd {your_project_dir} && pipenv --python {python_version}
# eg:pipenv --python 3.9.6

我们可以通过 pipenv --venv 来查看项目的虚拟环境目录,可以通过 pipenv --rm 来删除虚拟环境。

如果用的是 virtualenv[2]

如果我们安装了 pyenv 时,其实已经自动以 plugin 的形式安装好了 virtualenv 我们只需直接使用就好了。

如果没有安装 virtualenv 时,则可以使用以下命令进行安装

# 使用 pip 进行安装
pip install virtualenv
# 或者使用 homebrew 安装
brew install pyenv-virtualenv

使用 virtualenv 建立虚拟环境

pyenv virtualenv {python_version} {virtual_env_name}
# eg:pyenv virtualenv 3.9.6 envdemo396

# 查看虚拟环境目录
ls -al $(pyenv root)/versions

# 也可以直接通过 pyenv 命令进行查看
pyenv versions

查看当前有哪些虚拟环境

pyenv virtualenvs

激活新创建的虚拟环境

# 以 envdemo396 虚拟环境为例
pyenv activate envdemo396

手动退出虚拟环境

pyenv deactivate

删除虚拟环境

# 以 envdemo396 虚拟环境为例
rm -rf $(pyenv root)/versions/envdemo396

最后说个事
公号算法变了,为防止看不到我的更新
大家帮忙加个星标
点击上方的公众号卡片
再点右上角三个点
就能看到设为星标
算我跪下来求你们

✍ 作者简介:

95后某跨境电商企业程序猿,白天搬砖码代码,晚上自媒体写文章,持续更新编程、科技、互联网相关文章,偶尔也会无痛呻吟,感慨人生百态。自己淋过雨,所以也想为别人撑撑伞。

💡 往期精选:

微信上的这3个隐藏“标志”,代表有人喜欢你,一眼便知

微信,看看你的另一半跟谁聊天频繁!

微信上已删除的聊天记录,用这几种方式就可以恢复啦!

让你的微信“拍一拍”有趣且不失风度

微信年度账单来了,不敢看!

还在使用默认的微信图标?赶紧换个吧!

我的微信和你们的不一样!?

参考资料

[1]

pyenv: https://github.com/pyenv/pyenv

[2]

virtualenv: https://github.com/pypa/virtualenv

原文始发于微信公众号(浅墨觅尘往):如何同时安装多个版本的Python?试试pyenv吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/222081.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!