pypy¶
概要¶
pypy
[选项] [-c
cmd|-m
mod|file.py|-
] [arg…]
选项¶
-i | 在运行脚本后以交互方式进行检查。 |
-O | 跳过断言语句。 |
-OO | 除了 -O 之外,在导入模块时删除文档字符串。 |
-c CMD | 作为 CMD 传递的程序(终止选项列表)。 |
-S | 在初始化时不 import site 。 |
-s | 不要将用户站点目录添加到 sys.path。 |
-u | 无缓冲的二进制 stdout 和 stderr 。 |
-h, --help | 显示帮助消息并退出。 |
-m MOD | 要作为脚本运行的库模块(终止选项列表)。 |
-W ARG | 警告控制(arg 是 action: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_print
。fname 可以是-
,表示日志记录到 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)