为了获得Pypy
的沙箱版本,首先我使用以下指令从源代码构建Pypy
:
pypy ../../rpython/bin/rpython -O2 --sandbox targetpypystandalone
(然后我将Pypy-c
重命名为Pypy-c-sandbox
)
当我测试时:
./pyinteractive.py
它可以正常工作,但是当我想使用此命令运行沙箱版本时:
./pyinteractive.py ../goal/pypy-c-sandbox
出现以下错误:
[platform:execute] gcc -shared /tmp/usession-release-2.5.1-15/module_cache/module_0.o /tmp/usession-release-2.5.1-15/module_cache/module_1.o /tmp/usession-release-2.5.1-15/module_cache/module_2.o /tmp/usession-release-2.5.1-15/module_cache/module_3.o -pthread -Wl,--export-dynamic -lrt -o /tmp/usession-release-2.5.1-15/shared_cache/externmod.so
TypeError: compile() expected string without null bytes
我该怎么做才能解决这个问题?
答案 0 :(得分:2)
你误读了文档:它不是variable_name = new class_name( );
。它是pyinteractive.py path/to/pypy-sandbox
(来自pypy / sandbox /)。
在沙盒中工作的模块数量非常有限。最近,即使pypy_interact.py path/to/pypy-sandbox
模块停止在那里工作,也被删除了。我们欢迎贡献,但更多的是“持续支持”,其中包括对更多模块的特殊支持以及更好的time
---目前的仅用于演示目的。