pypy

개요

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

옵션

-i 스크립트를 실행한 후 대화형으로 검사합니다.
-O assert 문은 건너뜁니다.
-OO -O에 더해, 모듈을 임포트할 때 docstring도 제거합니다.
-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을 발생시킵니다.
-X disable-remote-debug
 원격 디버깅 인터페이스를 비활성화합니다.
--version PyPy 버전을 출력합니다.
--info 이 PyPy 실행 파일에 대한 변환 정보를 출력합니다.
--jit ARG 저수준 JIT 매개변수입니다. 대부분 내부용입니다. 자세한 정보를 보려면 --jit help를 실행하십시오.

환경

PYTHONPATH
pypy의 모듈 검색 경로에 디렉터리를 추가합니다. 형식은 셸의 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는 포함하지 않습니다. stderr에 로그를 남기려면 fname-로 지정할 수 있습니다. fname에 :가 있는 경우 +fname 형식을 사용할 수 있습니다.
:fname
debug_print를 포함한 전체 로깅입니다.
prefix:fname
조건부 로깅입니다. 여러 접두사를 쉼표로 구분하여 지정할 수 있습니다. 이름이 접두사와 일치하는 섹션만 로깅됩니다.

PYPYLOG=jit-log-opt,jit-backend:logfile는 PyPy에서 성능 문제를 디버깅하는 도구인 jitviewer에 적합한 로그를 생성합니다.

PYPY_IRC_TOPIC
비어 있지 않은 값으로 설정하면 대화형 모드 시작 시 #pypy IRC 주제를 무작위로 출력합니다.
PYPY_DISABLE_JIT
비어 있지 않은 값으로 설정하면 JIT을 비활성화합니다.
PYTHON_DISABLE_REMOTE_DEBUG
비어 있지 않은 값으로 설정하면 원격 디버깅 인터페이스를 비활성화합니다.

PyPy의 기본 incminimark 가비지 컬렉터는 여러 환경 변수를 통해 설정할 수 있습니다:

PYPY_GC_NURSERY
너서리(nursery) 크기입니다. 기본값은 최종 레벨 캐시의 1/2이며, 알 수 없는 경우 4M이고, 최종 레벨 캐시가 너무 작은 경우에도 4M입니다. 작은 값(예: 1 또는 1KB)은 디버깅에 유용합니다.
PYPY_GC_NURSERY_DEBUG
0이 아닌 값으로 설정하면, 디버깅에 도움이 되도록 너서리(nursery)를 가비지로 채웁니다.
PYPY_GC_INCREMENT_STEP
마킹 단계에서 마킹되는 메모리의 크기입니다. 기본값은 nursery 크기의 2배입니다. 너무 높게 설정하면 GC가 전혀 점진적(incremental)이지 않게 됩니다. 최솟값은 마이너 컬렉션에서 살아남는 크기의 1.5배로 설정되어 있어, 항상 무언가를 회수하게 됩니다.
PYPY_GC_MAJOR_COLLECT
메이저 컬렉션 메모리 계수. 기본값은 1.82이며, 이는 이전 메이저 컬렉션이 끝난 시점에 실제로 사용된 메모리의 1.82배에 해당하는 메모리가 소비되면 메이저 컬렉션을 트리거한다는 의미입니다.
PYPY_GC_GROWTH
메이저 컬렉션 임계값의 최대 증가율입니다. 기본값은 1.4입니다. 메모리 사용량이 일시적으로 급증하는 경우처럼 메모리가 갑자기 증가할 때 평소보다 더 자주 컬렉션을 수행하는 데 유용합니다.
PYPY_GC_MAX
최대 힙(heap) 크기입니다. 이 한계에 가까워지면 먼저 더 자주 수집하고, 그래도 부족하면 RPython MemoryError를 발생시키며, 그것마저 충분하지 않으면 치명적 오류로 프로그램을 종료합니다. 1.6GB와 같은 값을 시도해 보십시오.
PYPY_GC_MAX_DELTA
메이저 컬렉션 임계값은 컬렉션 이후 실제로 사용된 양보다 PYPY_GC_MAX_DELTA만큼 더 큰 값으로 설정되지 않습니다. 전체 RAM 크기의 1/8을 기본값으로 사용합니다(32비트 시스템에서는 최대 2/3/4GB로 제한됩니다). 200MB와 같은 값을 시도해 보십시오.
PYPY_GC_MIN
메모리 크기가 이 한계보다 작은 동안에는 수집하지 않습니다. 매우 작은 프로그램에서 모든 시간을 GC에 소비하지 않도록 하는 데 유용합니다. 기본값은 너서리(nursery)의 8배입니다.
PYPY_GC_DEBUG
일반적인 사용에는 너무 느린 수집(collection) 관련 추가 검사를 활성화합니다. 값은 0 (끄기), 1 (주요 수집(major collection) 시) 또는 2 (부수 수집(minor collection) 시에도)입니다.
PYPY_GC_MAX_PINNED
임의의 시점에 고정(pinned)된 객체의 최대 개수입니다. 기본값은 너서리(nursery) 크기와 너서리 내 최대 객체 크기에 따라 결정되는 보수적인 값입니다. 0으로 설정하면 디버깅에 유용합니다.

참고

python(1)