在看了几个开源的python环境管理器的评论后, 我打算入手 pyenv, 该项目有以下几个优势:
- 该项目使用纯shell脚本语言实现, 天然亲和linux开发环境.
- 通过设置的PATH环境变量和shims方法隔离的实现方案非常轻量化.
- 子命令引入了compgen补全功能, 对命令输入操作友好.
- 源码开源, 可扩展性好, 可以做再开发.
对于使用 pyenv 完成 日常工作的小伙伴, 这章看完就可以完美的解决python虚拟环境日常操作.
-
pyenv 安装(linux)
pyenv 使用shell语言实现, 不依赖其他额外环境, 对linux比较亲和. -
pyenv 管理 python 版本的查看,安装与卸载
- 查看pyenv 支持版本
pyenv install --list
- 查看python已安装版本
pyenv versions
- 安装指定python版本
pyenv install 3.11.9
- 删除python的版本
pyenv uninstall 3.11.9 # 删除 python 版本, 系统会提示 是否删除依赖该版本的虚拟环境, # 如果虚拟环境不能删除, 则取消该次版本删除操作.
-
pyenv 管理 python 虚拟环境的查看,安装与卸载
- 查看python已建立的虚拟环境
pyenv virtualenvs
- 建立指定python的虚拟环境
pyenv virtualenv 3.11.9 flask # 3.11.9 是已有的 python版本 # flask 是环境名称pyenv virtualenv flask flask2 # 注意, 这种创建flask2 的方式并不能继承 flask 中的已有安装包 # 只继承了 flask 基于 3.11.9 这个属性.
- 卸载python的虚拟环境
pyenv uninstall 虚拟环境名称
-
pyenv 使用 python 虚拟环境
- 手动打开与关闭 python 虚拟环境
pyenv activate flask pyenv deactivate
- 指定全局默认 python 虚拟环境
pyenv global flask torch # 指定多个时, 优先使用前一个, 至于后一个什么时候会触发, 我还没理解, 希望懂的大哥给小弟说说.# 恢复默认, 使用system pyenv global system
- 目录指定和取消 python 虚拟环境, 指定后下次进入该目录, 自动使用该环境
# 可以使用版本和虚拟环境 pyenv shell 3.11.9 pyenv shell flask pyenv shell --unset # 取消
pyenv 是一个优秀的虚拟环境操作框架, 原生shell实现, 对其他项目依赖少, 很适合做服务器的环境管理工具.
参考:
- 赞!优雅的Python多环境管理神器!易上手易操作!
- [github] pyenv
- shell】命令行自动补全(compgen、complete、compopt)