1背景&概述由于某些需求,需要安装TensorFlow。当然,我在终端中输入了以下命令:pipinstalltensorflow然后。..好小子???不??因为是Python3.9,所以去pypi上搜索了一下,确实没有支持,最高也只有Python3.8:于是考虑多版本Python环境,正好在Github上看到一个22.3k的东西:这是pyenv,一个简单的Python版本管理器,可以轻松地在Python版本之间切换。好了,废话不多说,进入正题。2安装安装有两种方式:自动安装手动安装2.1自动安装curlhttps://pyenv.run|bash#或curl-Lhttps://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer|bash2.2手动安装手动安装大致分为三步:安装pyenv配置环境变量初始化2.2.1安装pyenv作者的系统Manjaro,可以直接安装yay:yay-Spyenv其他系统可以使用aptsearch/yum搜索和等等看看有没有软件包仓库。如果有,你可以直接安装它们。如果没有,你可以克隆它们:gitclonehttps://github.com/pyenv/pyenv.git~/.pyenv(这一步是可选的下一步是编译动态bash扩展以加速:cd~/.pyenv&&src/configure&&make-Csrc官方解释,不用怕编译失败,因为它依然会正常工作。2.2.2配置环境变量这一步是将PYENV和更新后的PATH配置为环境变量官方文档是按照外壳类型分类的,大家可以根据自己的情况选择。2.2.2.1bashecho'exportPYENV_ROOT="$HOME/.pyenv"'>>~/.bash_profileecho'exportPATH="$PYENV_ROOT/bin:$PATH"'>>~/.bash_profile2.2.2.2Zshecho'exportPYENV_ROOT="$HOME/.pyenv"'>>~/.zshrcecho'exportPATH="$PYENV_ROOT/bin:$PATH"'>>~/.zshrc2.2.2.3Fishshellset-UxPYENV_ROOT$HOME/.pyenvset-uxfish_user_paths$PYENV_ROOT/bin$fish_user_paths2.2.3初始化环境变量配置完成后,需要进行初始化操作。这些文件也根据外壳类型进行分类。2.2.3.1bashecho-e'ifcommand-vpyenv1>/dev/null2>&1;然后\neval"$(pyenvinit-)"\nfi'>>~/.bash_profile2.2.3.2Zshecho-e'ifcommand-vpyenv1>/dev/null2>&1;then\neval"$(pyenvinit-)"\nfi'>>~/.zshrc2.2.3.3Fishshellecho-e'\n\n#pyenvinit\nifcommand-vpyenv1>/dev/null2>&1\npyenv初始化-|source\nend'>>~/.config/fish/config.fish2.3测试重新打开一个终端,输入pyenv,输出如下信息说明安装成功:3基本使用pyenv命令:查看所有pyenvcommandspyenvexec:使用特定Python版本执行命令pyenvglobal:设置或查看全局Python版本pyenvhooks:列出给定的pyenv命令钩子脚本pyenvinit:配置shell环境pyenvinstall:安装特定版本的Pythonpyenvlocal:为应用设置特定的Python版本pyenvprefix:显示pyenv版本对应的路径前缀pyenvrehash:rehashpyenvshims(不清楚有什么用,欢迎评论补充)pyenvroot:显示pyenv根目录pyenvshell:为shell设置特定的Python版本(类似于pyenvlocal)pyenvshims:列出当前存在的shims找Python应用时先om这个目录)pyenvuninstall:卸载某个版本的Pythonpyenv--version:显示pyenv版本pyenvversion:显示当前Python版本,相当于pyenvversion-name+pyenvversion-filepyenvversion-file/version-name/version-origin:当前Python版本对应的文件/名称/位置pyenvwhence:列出已安装Python的范围version,比如列出本地安装的Python2到Python3版本,可以使用pyenvwhence2to3pyenvwhich:列出可执行文件的绝对路径,比如pyenvwhichpython可以列出python命令的绝对路径4实际应用虽然说是上面的命令那么多,但是真正经常使用的命令却不多。主要有以下几个:pyenvversionpyenvinstallpyenvglobal一般的安装步骤如下。首先使用pyenvinstall-l找到需要安装的Python版本:不全截图,比如需要安装3.6.12版本:pyenvinstall3.6.12安装完成后可以使用pyenvversions查看安装的版本。这里我有两个安装,一个是系统自带的Python3.9,一个是pyenv安装Python3.6:然后使用pyenvglobal3.6.12切换到新安装的版本:这样就切换到新安装的版本.如果不是全局替换而是局部替换,可以使用pyenvlocal/pyenvshell。注意切换版本之后,pip的版本会不一样,两个版本使用pip安装的包也是独立的:5参考Github-pyenvGithub-pyenv-installerZhihu-Python环境备忘
