我想创建一个py进程。我尝试了以下方法,效果很好:
import os
os.chdir('<path-to-pypy-download>/bin/')
os.execl('pypy', 'pypy', '-c', 'print "Hi!"')
但是,当我删除chdir
作为:
我得到:
debug: WARNING: Library path not found, using compiled-in sys.path.
debug: WARNING: 'sys.prefix' will not be set.
debug: WARNING: Make sure the pypy binary is kept inside its tree of files.
debug: WARNING: It is ok to create a symlink to it from somewhere else.
debug: OperationError:
debug: operror-type: ImportError
debug: operror-value: No module named os
请问,有人知道如何在不更改工作目录的情况下生成PyPy进程吗?在
这可能不正确(在这种情况下,我将删除它),但我确信您需要做的只是:
换句话说,传递^{} as well as ^{} 的完整路径。在
为什么?当PyPy启动时,它必须使用(RPython/compiled-to-C等价物)^{} 来查找到自定义stdlib的路径。它还能用什么呢?这当然是从传递给解释器的
char *argv[]
参数复制而来的。当你让操作系统为你启动一个程序时,它会把完整的路径放进去。但是当你用execl
显式地设置它时,它只会复制您给它的任何内容。在它实际上是一个比这个更复杂的位它做了一个
readlink
(允许符号链接)和一个abspath
(允许自己像第一个例子中那样通过相对路径运行)。但基本思路是一样的。在{py>在这种情况下,{py>可能需要使用一个完整的py来安装它。在
相关问题 更多 >
编程相关推荐