2014-06-11 1 views
2

나는 rpython을 실행하여 pypy 샌드 박스를 만듭니다.pypy 샌드 박스에서 시간을 가져올 수 없습니다. 가져 오기 사이트가 실패합니다.

~/pypy-2.3.1-linux64/bin/pypy ../../rpython/bin/rpython -O2 --sandbox targetpypystandalone 

몇 가지 경고가 있습니다. 두 개는 시간이 소요되는 것으로 보입니다. (가) 완료를 번역하면서 길고 그것의 짧은

[sandbox:WARNING] Not Implemented: sandboxing for external function 'clock_gettime' 
[sandbox:WARNING] Not Implemented: sandboxing for external function 'clock_getres' 

이며, 다음과 같은 결과가 발생합니다 나는 샌드 박스 실행하면

'import site' failed 
Python 2.7.6 (32f35069a16d819b58c1b6efb17c44e3e53397b2, Jun 11 2014, 19:06:04) 
[PyPy 2.3.1 with GCC 4.7.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>>> 

을 그리고 시간을 가져 오는 것은 물론 실패

>>>> import time 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named time 
>>>> 

샌드 박스에 대해 예상되는 동작입니까? 그렇다면 샌드 박스 프로세스에 사이트 패키지 등을 삽입하는 올바른 방법은 무엇입니까? 나는 그 env에 pip를 설치하기를 바랬지 만 샌드 박싱은 매우 어렵게 보입니다. (기본적으로 시간을 필요로하는 datetime을 필요로하기 때문에 distribute.py를 설치할 때 가져 오기 시간에 맞춰 실행됩니다.)

답변

5

그냥 같은 문제를 겪었습니다. 해결책은 pypy-c 샌드 박스를 빌드 할 때 time 모듈을 포함시키는 것입니다.

pypy ../../rpython/bin/rpython -O2 --sandbox targetpypystandalone --withmod-time 

다른 가능한 플래그 다음과 같습니다 : 건물이 때 these instructions에서 --withmod-time를 추가 http://pypy.readthedocs.org/en/latest/config/commandline.html

+1

명령 줄의 문서가 매우 중요했다; 포인터 주셔서 감사합니다. – GoingTharn

관련 문제