Transcrypt 编译错误 Python 3.7 Windows
Transcrypt compilation error Python 3.7 Windows
我刚刚使用 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
知道哪里出了问题吗?我刚得到一个名为 __target__
的目录
其中包含一个名为 org.transcrypt.__runtime__.pretty.js
但没有 alerts2.js 的文件。顺便说一句,为什么在 transcrypt 3.7 中将编译目录的 __javascript__
名称从 transcrypt 3.6 更改为 __target__
?
好吧,我终于找到自己出了什么问题。如果您遇到该错误,很可能 Java 未安装在您的机器上,这是缩小 javascript 代码所必需的,而 transcrypt 似乎默认尝试。所以只需调用命令:
transcrypt -n alerts2.py
它运行没有任何错误,因为 -n 禁用代码的缩小。顺便说一句,如果 transcrypt 会输出类似 "Warning: No Java installed - minification is disabled. Install Java for code minification." 之类的错误消息并且仍然输出未缩小的代码,那就太好了。或者甚至更好地根本不依赖 Java 来缩小代码。我想 Python 应该是三班轮。
我刚刚使用 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
知道哪里出了问题吗?我刚得到一个名为 __target__
的目录
其中包含一个名为 org.transcrypt.__runtime__.pretty.js
但没有 alerts2.js 的文件。顺便说一句,为什么在 transcrypt 3.7 中将编译目录的 __javascript__
名称从 transcrypt 3.6 更改为 __target__
?
好吧,我终于找到自己出了什么问题。如果您遇到该错误,很可能 Java 未安装在您的机器上,这是缩小 javascript 代码所必需的,而 transcrypt 似乎默认尝试。所以只需调用命令:
transcrypt -n alerts2.py
它运行没有任何错误,因为 -n 禁用代码的缩小。顺便说一句,如果 transcrypt 会输出类似 "Warning: No Java installed - minification is disabled. Install Java for code minification." 之类的错误消息并且仍然输出未缩小的代码,那就太好了。或者甚至更好地根本不依赖 Java 来缩小代码。我想 Python 应该是三班轮。