3

我正在尝试使用 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__))

我觉得这是一个非常简单的解决方法——我几天前才开始学习 Python,所以我不确定如何解决这个问题/还不太了解导入。有什么建议吗?非常感谢。

4

1 回答 1

5

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

所以你通常通过调用脚本

PYTHONPATH=$PYTHONPATH:path/to/pypy/source path/to/pypy_interact.py
于 2013-07-23T05:10:22.757 回答