pypy

개요

pypy [옵션] [-c 명령|-m 모듈|file.py|-] [인자…]

옵션

-i 스크립트를 실행한 후 대화형으로 검사합니다.
-O assert 문을 건너뜁니다.
-OO -O옵션에 더해, 모듈을 임포트할 때 독스트링도 제거합니다.
-c CMD CMD로 전달된 프로그램입니다(옵션 목록을 종료합니다).
-S 초기화 시 import site를 실행하지 않습니다.
-s 사용자 사이트 디렉터리를 sys.path에 추가하지 않습니다.
-u 버퍼링되지 않는 바이너리 stdout과 stderr
-h, --help 도움말 메시지를 표시하고 종료합니다.
-m MOD 스크립트로 실행할 라이브러리 모듈입니다(옵션 목록을 종료합니다).
-W ARG 경고 제어입니다(arg는 동작:메시지:범주:모듈:줄번호 형식입니다).
-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
최대 힙 크기입니다. 이 한도에 가까워지면 먼저 수집을 더 자주 수행하고, 그다음 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
컬렉션 전후에 수행하는 추가 검사를 활성화합니다. 이 검사는 일반적인 용도로 쓰기에는 너무 느립니다. 값은 0 (끔), 1 (메이저 컬렉션 시) 또는 2 (마이너 컬렉션 시에도)입니다.
PYPY_GC_MAX_PINNED
어느 시점에서든 고정(pinned)될 수 있는 객체의 최대 개수입니다. 기본값은 너서리(nursery) 크기와 너서리 안에 들어갈 수 있는 최대 객체 크기에 따라 정해지는 보수적인 값입니다. 0으로 설정하면 디버깅에 유용합니다.

참고 항목

python(1)