使用py2exe转换程序和传递选项时的RuntimeError

时间:2017-06-09 16:01:08

标签: python exe py2exe distutils

我试图在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

我尝试跟踪追溯,但无法找出错误的根源。关于我的问题是什么以及如何解决它的任何建议?

1 个答案:

答案 0 :(得分:1)

看来我的错误与python 3.5的py2exe缺乏支持有关。当我运行在我的问题中链接的教程中列出的教程示例(hello world)时,我遇到了类似的(虽然不是完全相同的错误),这就是我发现问题的方法。

我使用python 3.4解释器创建了一个新的Anaconda环境,并且能够成功地为我的原始应用程序构建可执行文件。