PyPy Sandbox:无法导入rpython模块

Alo*_*ena 3 python pypy sandbox

我正在尝试使用PyPy创建一个服务器端沙箱,对我的文件系统的访问权限有限.我正在使用Ubuntu 12.04 64位机器,并且一直在尝试从这里安装PyPy的完整源代码:http://pypy.org/download.html#sandboxed-version(向下滚动到"从源代码构建"部分).

我的问题是,每当我尝试运行pypy_interact.py(位于pypy/pypy/sandbox)时,我都会收到以下错误:

ImportError:没有名为rpython.translator.sandbox.sandlib的模块

无法导入的模块具有以下路径:pypy/rpython/translator/sandbox/sandlib.py.pypy_interact.py的内容如下:

import sys, os
sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '..\
', '..', '..')))
from rpython.translator.sandbox.sandlib import SimpleIOSandboxedProc
from rpython.translator.sandbox.sandlib import VirtualizedSandboxedProc
from rpython.translator.sandbox.vfs import Dir, RealDir, RealFile
import pypy
LIB_ROOT = os.path.dirname(os.path.dirname(pypy.__file__))
Run Code Online (Sandbox Code Playgroud)

我觉得这是一个非常简单的修复 - 我几天前刚开始学习Python,所以我不确定如何解决问题/不太了解进口.有什么建议?非常感谢.

Tob*_*ias 5

Rpython通常希望你设置PYTHONPATH为包括你的pypy checkout的根,而不是混乱sys.path.

所以你通常会通过脚本调用脚本

PYTHONPATH=$PYTHONPATH:path/to/pypy/source path/to/pypy_interact.py
Run Code Online (Sandbox Code Playgroud)