如何在 30 秒内安装 PyPy3 + 虚拟环境

TL;DR:

运行此命令

install_pypy3_quick.sh
wget -qO- https://techoverflow.net/scripts/pypy3-installer.sh | bash

然后每次你想激活时运行 vpypy(你可能需要重启)。脚本目前假设你运行的是 Linux x86_64 并且已安装 virtualenv(如果未安装则使用 sudo apt install virtualenv 或类似命令)

完整描述:

PyPy 是一个替代的 Python 实现,可用于加速许多工作负载。但是,安装它是一个有些繁琐的过程,特别是如果你对虚拟环境和相关概念没有太多经验。

我们提供了一个脚本,自动下载 PyPy3,安装到 ~/.pypy3 并在 ~/.pypy3-virtualenv 中创建虚拟环境。之后,它创建一个 shell 别名 vpypy,别名为 source ~/.pypy3-virtualenv/bin/activate,从而提供一种易于记忆的激活环境的方式,无需用户记住目录。

此外,由于 pypy3 本身和虚拟环境都安装在用户的主目录中,运行此脚本不需要管理员权限。

使用以下命令运行脚本后

install_pypy3_quick.sh
wget -qO- https://techoverflow.net/scripts/pypy3-installer.sh | bash

你可以使用自动添加到 ~/.bashrc~/.zshrcvpypy 别名激活虚拟环境。重启 shell 以加载别名定义,然后运行 vpypy

vpypy_activation_example.sh
uli@uli-laptop ~ % vpypy
(.pypy3-virtualenv) uli@uli-laptop ~ %

你可以看到提示符已更改。现在你可以使用 pip(将本地安装包到 PyPy3 virtualenv)、python(映射到 pypy3)和其他相关可执行文件。要使用 PyPy 运行脚本,只需运行 python myscript.py

完整源代码:

pypy3_installer.sh
#!/bin/bash
# TechOverflow 的 30 秒 PyPy3 虚拟环境生成器
# 此脚本在 CC0 1.0 Universal 下发布
DIRECTORY=~/.pypy3
VENV_DIRECTORY=~/.pypy3-virtualenv
VERSION=pypy3.6-v7.3.0-linux64

# 下载(或使用现有的)pypy3
if [ -d "$DIRECTORY" ]; then
    echo "跳过 PyPy 下载,已存在"
else
    echo "正在下载 PyPy 到 $DIRECTORY"
    # 下载并解压到 DIRECTORY
    wget https://techoverflow.net/downloads/${VERSION}.tar.bz2 -O /tmp/${VERSION}.tar.bz2
    bash -c "cd /tmp && tar xjvf ${VERSION}.tar.bz2"
    mv /tmp/${VERSION} $DIRECTORY
    rm /tmp/${VERSION}.tar.bz2
fi

# 创建 virtualenv
if [ -d "$VENV_DIRECTORY" ]; then
    echo "跳过创建 pypy3 virtualenv,已存在"
else
    echo "正在 $VENV_DIRECTORY 中创建 PyPy 虚拟环境"
    virtualenv -p ${DIRECTORY}/bin/pypy3 ${VENV_DIRECTORY}
fi

# 创建 "vpypy" 快捷方式
set -x
vpypy
result="$?"
set +x
if [ "$result" -ne 127 ]; then
    echo "跳过创建 vpypy 快捷方式,当前 shell 中已存在"
else
    echo "正在创建 bash/zsh 快捷方式 'vpypy'"
    if [ -f ~/.bashrc ]; then
        echo -e "\n# TechOverflow PyPy 安装器\nalias vpypy='source ${VENV_DIRECTORY}/bin/activate'\n" >> ~/.bashrc
    fi
    if [ -f ~/.zshrc ]; then
        echo -e "\n# TechOverflow PyPy 安装器\nalias vpypy='source ${VENV_DIRECTORY}/bin/activate'\n" >> ~/.zshrc
    fi
    # 在当前 shell 中激活快捷方式(但不自动激活虚拟环境)
    alias vpypy='source ${VENV_DIRECTORY}/bin/activate'
fi

echo -e "\n\nPyPy 安装完成。重启 shell,然后运行 'vpypy' 激活虚拟环境"

Check out similar posts by category: Linux, Python