设置沙盒版本的pypy
setting up sandbox version of pypy
为了获得 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
我应该怎么做才能解决这个问题?
您误读了文档:它不是 pyinteractive.py path/to/pypy-sandbox
。这是 pypy_interact.py path/to/pypy-sandbox
(来自 pypy/sandbox/)。
在沙盒中工作的模块数量非常有限。最近甚至 time
模块也停止工作,因此被删除。我们欢迎贡献,但更多的是 "continued support",这将包括对更多模块的特殊支持和更好的 pypy_interact.py
--- 目前的仅用于演示目的。
为了获得 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
我应该怎么做才能解决这个问题?
您误读了文档:它不是 pyinteractive.py path/to/pypy-sandbox
。这是 pypy_interact.py path/to/pypy-sandbox
(来自 pypy/sandbox/)。
在沙盒中工作的模块数量非常有限。最近甚至 time
模块也停止工作,因此被删除。我们欢迎贡献,但更多的是 "continued support",这将包括对更多模块的特殊支持和更好的 pypy_interact.py
--- 目前的仅用于演示目的。