首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将PyPy编译为Exe

将PyPy编译为Exe
EN

Stack Overflow用户
提问于 2012-05-06 21:15:36
回答 2查看 14.8K关注 0票数 34

我知道如何使用cx_freeze将CPython文件编译为可执行文件,但是否可以使用PyPy将简单的程序编译为可执行文件?

EN

回答 2

Stack Overflow用户

发布于 2012-06-10 16:13:54

据我所知,目前还没有现成的方法或教程来说明如何使用PyPy解释器从程序中创建可执行文件。而且,我担心,让事情继续下去并不是微不足道的。

原则上,有两种方法可以考虑使用PyPy的翻译来获得EXE文件,要么使用PyPy解释器,要么编写您自己的RPython程序(PyPy解释器本身就是一个RPython程序,即使用Python子集)。

如果您的程序使用RPython的受限子集,并且没有依赖项,那么您可以考虑在pypy/translator/goal中使用translate脚本,在那里您还可以找到许多target*.py文件。取一个并根据您的目的对其进行修改。你可能首先想从这里开始尝试翻译python函数:

http://doc.pypy.org/en/latest/getting-started-dev.html#trying-out-the-translator

如果您的程序是一个应用程序,并且依赖于外部包,那么您应该首先尝试确保您的程序能够在pypy上运行--并非所有的外部库都受支持。然后,您可以考虑修改targetpypystandalone脚本以加载应用程序模块。如果有疑问,请尝试获取有关pypy-dev邮件列表或irc.freenode.net上的#pypy频道的帮助。

票数 8
EN

Stack Overflow用户

发布于 2012-05-25 11:06:01

这是一个可能对您有效的py2exe解决方案:compile.py

代码语言:javascript
运行
复制
#!/usr/bin/env python
# Corey Goldberg

from distutils.core import setup
import py2exe
import sys

if len(sys.argv) == 2:
    entry_point = sys.argv[1]
    sys.argv.pop()
    sys.argv.append('py2exe')
    sys.argv.append('-q')
else:
    print 'usage: compile.py <python_script>\n'
    raw_input('press ENTER to exit...')
    sys.exit(1)

opts = {
    'py2exe': {
        'compressed': 1,
        'optimize': 2,
        'bundle_files': 1
    }
}

setup(console=[entry_point], options=opts, zipfile=None)
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10470800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档