pypy

概要

pypy [选项] [-c cmd|-m mod|file.py|-] [arg…]

选项

-i 在运行脚本后以交互方式进行检查。
-O 跳过断言语句。
-OO 除了 -O 之外,在导入模块时删除文档字符串。
-c CMD 作为 CMD 传递的程序(终止选项列表)。
-S 在初始化时不 import site
-s 不要将用户站点目录添加到 sys.path
-u 无缓冲的二进制 stdoutstderr
-h, --help 显示帮助消息并退出。
-m MOD 要作为脚本运行的库模块(终止选项列表)。
-W ARG 警告控制(argaction:message:category:module:lineno)。
-E 忽略环境变量(例如 PYTHONPATH)。
-B 禁用写入字节码 (.pyc) 文件。
-X track-resources
 每当垃圾收集器关闭文件或套接字时,都会产生一个 ResourceWarning
--version 打印 PyPy 版本。
--info 打印有关此 PyPy 可执行文件的翻译信息。
--jit ARG 低级 JIT 参数。主要是内部的。运行 --jit help 以获取更多信息。

环境

PYTHONPATH
将目录添加到 pypy 的模块搜索路径。格式与 shell 的 PATH 相同。
PYTHONSTARTUP
此变量引用的脚本将在交互模式下显示第一个提示之前执行。
PYTHONDONTWRITEBYTECODE
如果设置为非空值,则等效于 -B 选项。禁用写入 .pyc 文件。
PYTHONINSPECT
如果设置为非空值,则等效于 -i 选项。在运行指定的脚本后以交互方式进行检查。
PYTHONIOENCODING
如果设置了此选项,它将覆盖用于 stdin/stdout/stderr 的编码。语法是 encodingname:errorhandler errorhandler 部分是可选的,与 str.encode 中的含义相同。
PYTHONNOUSERSITE
如果设置为非空值,则等效于 -s 选项。不要将用户站点目录添加到 sys.path 中。
PYTHONWARNINGS
如果设置,则等效于 -W 选项(警告控制)。该值应为以逗号分隔的 -W 参数列表。
PYPYLOG

如果设置为非空值,则启用日志记录,格式为

fname+fname
用于分析的日志记录:包括所有 debug_start/debug_stop,但不包括任何嵌套的 debug_printfname 可以是 -,表示日志记录到 stderr。如果 fname 中包含 :,则可以使用 +fname 形式
:fname
完整日志记录,包括 debug_print
prefix:fname
条件日志记录。可以指定多个前缀,以逗号分隔。只有名称与前缀匹配的部分才会被记录。

PYPYLOG=jit-log-opt,jit-backend:logfile 将生成适合 jitviewer 的日志,jitviewer 是一个用于调试 PyPy 下性能问题的工具。

PYPY_IRC_TOPIC
如果设置为非空值,则在交互模式启动时打印一个随机的 #pypy IRC 主题。
PYPY_DISABLE_JIT
如果设置为非空值,则禁用 JIT。

PyPy 的默认 incminimark 垃圾收集器可以通过几个环境变量进行配置

PYPY_GC_NURSERY
育苗器大小。默认为最后一级缓存的 1/2,如果未知则为 4M,如果最后一级缓存太小则为 4M。小值(如 1 或 1KB)对于调试很有用。
PYPY_GC_NURSERY_DEBUG
如果设置为非零值,则会用垃圾填充育苗器,以帮助调试。
PYPY_GC_INCREMENT_STEP
标记步骤中标记的内存大小。默认值为育苗器大小的两倍。如果标记过高,则 GC 根本不会增量。最小值设置为存活的次要收集大小的 1.5 倍,因此我们始终回收任何东西。
PYPY_GC_MAJOR_COLLECT
主要收集内存因子。默认值为 1.82,这意味着当消耗的内存等于前一次主要收集结束时实际使用的内存的 1.82 倍时,触发主要收集。
PYPY_GC_GROWTH
主要收集阈值的最高增长率。默认值为 1.4。这对于在内存突然增长时比平时更频繁地收集很有用,例如当内存使用量出现暂时峰值时。
PYPY_GC_MAX
最大堆大小。如果接近此限制,它将首先更频繁地收集,然后引发 RPython MemoryError,如果这还不够,则会以致命错误使程序崩溃。尝试使用诸如 1.6GB 之类的值。
PYPY_GC_MAX_DELTA
主要收集阈值永远不会设置为收集后实际使用的量的 PYPY_GC_MAX_DELTA。默认为总 RAM 大小的 1/8(在 32 位系统上,此值限制为最多 2/3/4GB)。尝试使用诸如 200MB 之类的值。
PYPY_GC_MIN
当内存大小低于此限制时,不要收集。这对于避免在非常小的程序中花费所有时间进行 GC 很有用。默认为育苗器的 8 倍。
PYPY_GC_DEBUG
启用围绕收集的额外检查,这些检查对于正常使用来说太慢了。值为 0(关闭)、1(在主要收集时)或 2(也在次要收集时)。
PYPY_GC_MAX_PINNED
任何时间点上固定对象的最大数量。默认情况下,该值取决于托儿所的大小和托儿所内最大对象的大小。可以通过将其设置为 0 来进行调试。

另请参阅

python(1)