今天做题的时候遇到了一个 Python 反编译的题目,需要用 uncompyle6,然后发现 Python 版本过高不支持,不想卸载现有的 Python 环境,遂有此文。

安装 Pyenv

安装 Pyenv ( Linux/macOS )

curl https://pyenv.run | bash

安装 Pyenv ( Windows )

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"

这里 windows 在安装的时候,可能会遇到问题,提示在系统上禁止运行此脚本

临时更改执行策略

Set-ExecutionPolicy Bypass -Scope Process -Force

想要永久更改的话

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

更改策略之后重新安装即可

使用 Pyenv 管理其他版本

Pyenv 安装其他版本( 例 3.9.0 )

使用如下命令可以查看可以安装的版本

pyenv install --list

例如我要安装 python 3.9.0

pyenv install 3.9.0

这里 pyenv 安装的时候很慢,可以直接安装好,放到对应的缓存目录

Python 3.9.0 下载链接:https://www.python.org/ftp/python/3.9.0/python-3.9.0-amd64.exe

缓存目录为:%homepath%\.pyenv\pyenv-win\install_cache

再次执行安装时,将跳过下载步骤

Pyenv 常用方法

可以使用以下命令在已安装的 Python 版本之间切换:

  • pyenv shell <version>:仅为当前 shell 会话选择

  • pyenv local <version>:仅在当前目录(或其子目录)时自动选择

  • pyenv global <version>:为当前 OS 用户全局选择

列出已安装的 Python 版本

pyenv versions

查看正在使用的 Python 版本,这两条都可以查看

python --version
pyenv version

卸载某个版本

pyenv uninstall 3.9.0

使用 uncompyle6

注意高版本不行,最高好像就是 3.9.0

pip install uncompyle6

反编译 .pyc 文件

uncompyle6 -o . example.pyc

泥嚎~