2013-07-23 78 views
2

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

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

导入错误:没有模块名为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__)) 

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

+0

这工作调用脚本,非常感谢你! –

回答

4

Rpython通常希望您设置PYTHONPATH以包含您的pypy结帐的根目录,而不是混淆sys.path

所以你通常通过

PYTHONPATH=$PYTHONPATH:path/to/pypy/source path/to/pypy_interact.py