2013-07-23 77 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