python基础知识
pyenv
pyenv 是一个用于管理多个 Python 版本的工具,可以轻松在同一台机器上安装、切换和隔离不同版本的 Python 环境。它特别适合开发需要兼容不同 Python 版本的项目。
pyenv-win 是专为 Windows 开发的 pyenv 分支,功能类似,支持多版本 Python 管理。
- 下载 pyenv-win.zip
- 在
USERPROFILE目录中创建.pyenv目录mkdir %USERPROFILE%/.pyenv - 解压pyenv-win.zip 移动文件到
.pyenv目录 - 确保在
%USERPROFILE%\.pyenv\pyenv-win下有一个bin文件夹 - 配置环境变量 将PYENV、PYENV_HOME和PYENV_ROOT添加到环境变量中
1
2
3
4
5[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") - 现在将以下路径添加到USER PATH变量中,以便访问pyenv命令
1
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
- 在终端执行
pyenv命令出现上面错误时,可以尝试解除文件锁定,并调脚本执行策略1
2pyenv : 无法加载文件 C:\Users\song\.pyenv\pyenv-win\bin\pyenv.ps1。未对文件 C:\Users\song\.pyenv\pyenv-win\bin\pyenv.ps1
进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink /?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + pyenv + ~~~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
1 | # 右键点击`pyenv.ps1`文件 → **属性** → **常规** → 勾选**解除锁定** → 应用。 |
- 安装python解释器
1 | # 列出所有可用版本(列表较长) |
pyenv 常用命令
安装与管理 Python 版本
| 命令 | 说明 | 示例 |
|---|---|---|
pyenv install --list |
查看所有可安装的 Python 版本 | pyenv install --list |
pyenv install <version> |
安装指定版本的 Python | pyenv install 3.9.5 |
pyenv uninstall <version> |
卸载已安装的 Python 版本 | pyenv uninstall 3.8.0 |
pyenv rehash |
刷新 shims 目录(安装新版本后自动执行) | pyenv rehash |
版本切换与环境设置
| 命令 | 说明 | 示例 |
|---|---|---|
pyenv global <version> |
设置全局默认 Python 版本 | pyenv global 3.9.5 |
pyenv local <version> |
在当前目录设置局部 Python 版本(生成 .python-version 文件) |
pyenv local 3.10.0 |
pyenv shell <version> |
在当前 Shell 会话临时使用指定版本 | pyenv shell 3.8.12 |
pyenv versions |
列出所有已安装的 Python 版本(带 * 表示当前激活版本) |
pyenv versions |
环境查看与路径管理
| 命令 | 说明 | 示例 |
|---|---|---|
pyenv version |
显示当前激活的 Python 版本 | pyenv version |
pyenv which <command> |
查看某命令的绝对路径(如 python、pip) |
pyenv which python |
pyenv exec <command> |
直接使用当前激活版本的命令 | pyenv exec pip install requests |
其他实用命令
| 命令 | 说明 | 示例 |
|---|---|---|
pyenv update |
更新 pyenv 自身(原版支持) | pyenv update |
pyenv root |
显示 pyenv 的安装根目录 | pyenv root |
pyenv hooks |
列出所有已安装的钩子脚本 | pyenv hooks |
- 镜像加速安装:设置环境变量加速下载
1
$env:PYTHON_BUILD_MIRROR_URL = "https://npm.taobao.org/mirrors/python/"
### 使用小贴士
优先级顺序:
shell>local>global
(临时 > 项目目录 > 全局)切换失败检查:确保
pyenv的 shims 路径在系统环境变量Path中优先级最高。多项目隔离:为不同项目设置
pyenv local,避免版本冲突。
venv
venv 是 Python 内置的虚拟环境管理工具(Python 3.3+ 原生支持),用于为单个项目创建独立的 Python 运行环境,隔离不同项目的依赖包,避免版本冲突。
1 | python -m venv [虚拟环境的名称] [指定路径] |