关于pyenv-win与pyenv-win-venv的推荐

当你看到标题的时候可能下意识想到的答案是anaconda,稍微极客一点的朋友可能会考虑到优雅这个单词,然后想到miniconda。然而,conda环境的臃肿一直以来是我在windows系统上编程时希望极力避免的一点。而在这一方面,即便是miniconda也不逞多让。

恰好,最近的项目有一个打包python文件的需求。为了尽可能减小可执行文件的体积,我找到了pyenv-win这款神器,通过虚拟环境安装最小依赖的方式完成打包。然而,先前的教程会引导读者要么使用麻烦的手动安装pyenv-win,要么在创建虚拟环境时敲一长串的python -m vituralenv,或者在激活环境时在终端里面输入venv\scripts\activate,还让读者使用pip安装vituralenv。

作为一名文科男,我觉得这太蠢了

pyenv-vituralenv是为类unix系统设计的不假,然而关于这方面的需求,windows上面也有优秀的开发者进行了相应的移植。毕竟我想应该也不止我一个人会使用win11作为主力系统编程开发。

安装pyenv-win

根据官方文档:https://pyenv-win.github.io/pyenv-win/的方法,我们直接使用ps命令安装

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

安装pyenv-win-venv

根据官方文档:https://github.com/pyenv-win/pyenv-win-venv的方法,我们同样使用ps命令安装

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win-venv/main/bin/install-pyenv-win-venv.ps1" -OutFile "$HOME\install-pyenv-win-venv.ps1";
&"$HOME\install-pyenv-win-venv.ps1"

大功告成

使用

pyenv-venv更新:

pyenv-venv update self

使用pyenv-win管理python版本:
查看可用版本:pyenv install --list
下载特定版本:pyenv install 3.12.1
(官方下载速度可能较慢,这与网络环境有关,您也可以使用阿里源下载)
设置全局python:python global 3.12.1

使用pyenv-win-venv管理虚拟环境:
创建虚拟环境:pyenv-venv install 3.12.1 env_name
卸载虚拟环境:pyenv-venv uninstall env_name
激活虚拟环境:pyenv-venv activate env_name
取消激活:pyenv-venv deactivate

更多使用方式,请参考官方文档

写在最后

powershell是很优秀的系统终端,尽管ms充分发挥了shit山传统保留了cmd,但是powershell的实用性、便捷性是有目共睹的,可以强烈推荐一下。至少当我不假思索的使用ls命令时再也不用在收获报错时才想起来用dir了...

最后修改:2024 年 03 月 02 日
请我喝杯可乐?