bun*_*kus 1 python compilation transcrypt
我刚刚使用https://github.com/bunkahle/Transcrypt-Examples/blob/master/alerts/alerts2.py 中的简单程序在 Python 3.7 Win7 上尝试了最新的 transcrypt,但出现编译错误:
C:\Python37\Programme\Transcrypt>transcrypt alerts2.py
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.7.16
Copyright (C) Geatec Engineering. License: Apache 2.0
Saving target code in: C:/Python37/Programme/Transcrypt/__target__/org.transcrypt.__runtime__.js
Saving minified target code in: C:/Python37/Programme/Transcrypt/__target__/org.transcrypt.__runtime__.js
Error while compiling (offending file last):
File 'org.transcrypt.__runtime__', line 0, namely:
[WinError 2] The system cannot find the specified file
Aborted
Run Code Online (Sandbox Code Playgroud)
知道出了什么问题吗?我只是得到一个名为的目录__target__
,其中包含一个被调用的文件,org.transcrypt.__runtime__.pretty.js但没有任何 alerts2.js。顺便说一句,您为什么__javascript__将编译目录的名称从 transcrypt 3.6 更改为__target__in transcrypt 3.7?
好吧,我终于发现自己出了什么问题。如果您遇到该错误,很可能您的机器上没有安装 Java,这需要缩小 transcrypt 似乎默认尝试的 javascript 代码。所以只需调用命令:
transcrypt -n alerts2.py
Run Code Online (Sandbox Code Playgroud)
它运行时没有任何错误,因为 -n 禁用了代码的缩小。顺便说一句,如果 transcrypt 会输出诸如“警告:未安装 Java - 缩小被禁用。安装 Java 以进行代码缩小”之类的错误消息,那就太好了。或类似的,仍然输出未缩小的代码。或者甚至最好不要完全依赖 Java 来缩小代码。我认为应该是 Python 中的三行。