1 背景&概述
因某些需求,需要安装 TensorFlow
,很自然地在终端敲下了以下命令:
pip install tensorflow
然后。。。
好家伙???
居然没有??
因为是 Python 3.9
,去 pypi
搜索了,居然还真没有支持的,最高只有 Python 3.8
:
于是便考虑一个多版本的 Python
环境,碰巧就在 Github
上看到了一个 22.3k 的东西:
这就是 pyenv
,一个简单的 Python
版本管理器,可以轻松地在各个 Python
版本之间进行切换。
好了废话不说,进入正题。
2 安装
安装有两种方式:
- 自动安装
- 手动安装
2.1 自动安装
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
安装:
yay -S pyenv
其他系统的可以使用 apt search
/ yum search
等看看软件包仓库有没有,有的话直接安装即可,没有的话,可以 clone
安装:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
( 这一步是可选的 )接着就是编译动态 bash
扩展进行加速:
cd ~/.pyenv && src/configure && make -C src
官方解释说,不用害怕编译失败,因为仍然会正常工作。
2.2.2 配置环境变量
这一步就是把 PYENV
以及更新后的 PATH
配置成环境变量,官方文档按照 shell
类型进行了分类,根据自己情况选择即可。
2.2.2.1 bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' ~/.bash_profile
2.2.2.2 Zsh
echo 'export PYENV_ROOT="$HOME/.pyenv"' ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' ~/.zshrc
2.2.2.3 Fish shell
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
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' ~/.bash_profile
2.2.3.2 Zsh
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' ~/.zshrc
2.2.3.3 Fish shell
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命令的绝对路径
4 实际应用
虽然上面说了这么多命令,但实际使用频率高的命令并不多,主要有以下几个:
- pyenv version
- pyenv install
- pyenv global
一般安装的步骤如下,先使用
pyenv install -l
查找需要安装的 Python
版本:
这里还有一大串,就不全部截图了,比如需要安装 3.6.12
版本:
pyenv install 3.6.12
安装之后可以使用
pyenv versions
查看安装的版本,这里笔者安装有两个,一个是系统自带的 Python3.9
,一个是 pyenv
安装的 Python3.6
:
接着使用
pyenv global 3.6.12
切换到新安装的版本:
这样就切换到了新安装的版本,如果不是全局替换而是局部替换的话可以使用 pyenv local
/ pyenv shell
。
要注意的是切换版本后 pip
的版本也会不一样,而且两个版本使用 pip
安装的包也是独立的:
5 参考
1、 Github-pyenv
2、 Github-pyenv-installer
3、 知乎-Python环境Memo
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]