我试图在tutorial flow之后使用py2exe将python程序转换为可执行文件。我已经创建了一个setup.py,如下所示(使用this示例)。
const vm = require('vm')
const moment = require('moment')
let template = '### ${context.hours_worked[0].value} \n Hours worked \n #### ${Math.abs(context.hours_worked_avg_diff[0].value)}% ${fns.gt0(context.hours_worked_avg_diff[0].value, "more", "less")} than usual on ${fns.getDOW(new Date())}'
let context = {
hours_worked:[{value:10}],
hours_worked_avg_diff:[{value:10}],
}
function getDOW(now) {
return moment(now).locale('es').format('dddd')
}
function gt0(_in, tVal, fVal) {
return _in >0 ? tVal: fVal
}
function templateIt(context, template) {
const script = new vm.Script('`'+template+'`')
return script.runInNewContext({context, fns:{getDOW, gt0 }})
}
console.log(templateIt(context, template))
当我在Anaconda命令提示符下运行 from distutils.core import setup
import py2exe
options = {
'py2exe': {
'compressed': 1,
'optimize': 2,
'bundle_files': 3, #Options 1 & 2 do not work on a 64bit system
'dist_dir': 'dist', # Put .exe in dist/
'xref': False,
'skip_archive': False,
'ascii': False}}
setup(options=options, zipfile=None, console=['main.py'])
(设置为运行python 3.5环境)时,我得到以下错误跟踪:
python setup.py py2exe
我尝试跟踪追溯,但无法找出错误的根源。关于我的问题是什么以及如何解决它的任何建议?
答案 0 :(得分:1)
看来我的错误与python 3.5的py2exe缺乏支持有关。当我运行在我的问题中链接的教程中列出的教程示例(hello world)时,我遇到了类似的(虽然不是完全相同的错误),这就是我发现问题的方法。
我使用python 3.4解释器创建了一个新的Anaconda环境,并且能够成功地为我的原始应用程序构建可执行文件。