如何在linux终端中直接执行* .pyc文件

时间:2016-03-04 03:46:06

标签: python linux

我发现在我的ubuntu15.10上,我无法像

那样执行* .pyc文件
$ echo 'print "Hello"' > print.py
$ chmod +x print.py
$ python -c 'import print'
$ ./print.pyc

但是在另一台PC上(也是ubuntu15.10),它可以执行。在这个链接( https://superuser.com/questions/73615/how-do-pyc-files-execute/73649#73649),我知道这是因为我的系统没有.pyc文件的binfmt_misc条目。所以我的问题是如何添加它。

1 个答案:

答案 0 :(得分:0)

我不确定你的Linux发行版是什么。对于除Debian发行版之外的所有发行版,这应该可以安装必要的文件:

import imp,sys,string
magic = string.join(["\\x%.2x" % ord(c) for c in imp.get_magic()],"") 
reg = ':pyc:M::%s::%s:' % (magic, sys.executable) 
open("/proc/sys/fs/binfmt_misc/register","wb").write(reg)

对于Debian,您可以通过安装binfmt-support安装必要的软件包。

Source

祝你好运,编码愉快!