Python使用pyenv实现多环境管理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python使用pyenv实现多环境管理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3119字,纯文字阅读大概需要5分钟。
内容图文
![Python使用pyenv实现多环境管理](/upload/InfoBanner/zyjiaocheng/607/acefcdaf4b714d64bc2710cdb0a9f173.jpg)
1 背景&概述
因某些需求,需要安装 TensorFlow ,很自然地在终端敲下了以下命令:
1
pip install tensorflow
然后。。。
好家伙???
居然没有??
因为是 Python 3.9 ,去 pypi 搜索了,居然还真没有支持的,最高只有 Python 3.8 :
于是便考虑一个多版本的 Python 环境,碰巧就在 Github 上看到了一个 22.3k 的东西:
这就是 pyenv ,一个简单的 Python 版本管理器,可以轻松地在各个 Python 版本之间进行切换。
好了废话不说,进入正题。
2 安装
安装有两种方式:
自动安装
手动安装
2.1 自动安装
1
2
3
curl https://pyenv.run | bash
# 或
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
2.2 手动安装
手动安装大致分为三步:
安装pyenv
配置环境变量
初始化
2.2.1 安装 pyenv
笔者系统 Manjaro ,可以直接 yay 安装:
1
yay -S pyenv
其他系统的可以使用 apt search / yum search 等看看软件包仓库有没有,有的话直接安装即可,没有的话,可以 clone 安装:
1
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
( 这一步是可选的 )接着就是编译动态 bash 扩展进行加速:
1
cd ~/.pyenv && src/configure && make -C src
官方解释说,不用害怕编译失败,因为仍然会正常工作。
2.2.2 配置环境变量
这一步就是把 PYENV 以及更新后的 PATH 配置成环境变量,官方文档按照 shell 类型进行了分类,根据自己情况选择即可。
2.2.2.1 bash
1
2
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
2.2.2.2 Zsh
1
2
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
2.2.2.3 Fish shell
1
2
set -Ux PYENV_ROOT $HOME/.pyenv
set -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths
2.2.3 初始化
配置完环境变量后还要进行初始化操作,文档同样按 shell 类型进行了分类。
2.2.3.1 bash
1
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
2.2.3.2 Zsh
1
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
2.2.3.3 Fish shell
1
echo -e '\n\n# pyenv init\nif command -v pyenv 1>/dev/null 2>&1\n pyenv init - | source\nend' >> ~/.config/fish/config.fish
2.3 测试
重新开启一个终端,输入 pyenv ,输出如下信息就表明安装成功了:
3 基本使用
pyenv commands:查看所有pyenv命令
pyenv exec:使用特定Python版本执行某条命令
pyenv global:设置或查看全局Python版本
pyenv hooks:列出给出的pyenv命令的钩子脚本
pyenv init:配置shell环境
pyenv install:安装某个版本的Python
pyenv local:为某个应用设置特定的Python版本
pyenv prefix:显示对应Python版本的路径前缀
pyenv rehash:再哈希pyenv shims(不清楚有什么用,欢迎评论补充)
pyenv root:显示pyenv根目录
pyenv shell:为某个shell设置特定的Python版本(与pyenv local类似)
pyenv shims:列出当前存在的shims(pyenv的工作原理就是在一个叫shims的目录下创建Python解释器的“假版本”,寻找Python应用时先从该目录查找)
pyenv uninstall:卸载某个版本Python
pyenv --version:显示pyenv版本
pyenv version:显示当前Python版本,等价于pyenv version-name+pyenv version-file
pyenv version-file/version-name/version-origin:当前Python版本对应的文件/名字/位置
pyenv whence:列出已安装的一个范围内的Python版本,比如列出本地安装的Python2到Python3的版本,可以使用pyenv whence 2to3
pyenv which:列出可执行文件的绝对路径,比如pyenv which python可以列出python命令的绝对路径
内容总结
以上是互联网集市为您收集整理的Python使用pyenv实现多环境管理全部内容,希望文章能够帮你解决Python使用pyenv实现多环境管理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。