我对编码和网络开发很陌生。我是一名系统工程师,希望进入Web开发方面。我参加了一些python教程并拼凑了一个(可能非常)粗略的python应用程序。我现在想把这个应用程序放在我创建的网站上,这样我就可以让办公室里的其他人也使用这个实用程序了。
为此,我安装了transcrypt,目的是将python代码转换为javascript。运行transcrypt时,我得到以下输出:
编译时出错(最后违规文件): 文件'c:/Scripting/Transcrypt/Meraki.py',第1行,导入时: 文件'c:/ users / dab404 / appdata / local / programs / python / python36 / lib / site-packages / requests / init .py',第43行,导入时: 文件'c:/ users / dab404 / appdata / local / programs / python / python36 / lib / site-packages / urllib3 / init .py',第8行,即: 尝试导入模块:connectionpool 找不到任何: C:/Scripting/Transcrypt/connectionpool.py C:/脚本/ Transcrypt /的的javascript /connectionpool.mod.js
该错误继续列出它需要运行的大约10个其他文件。我不知道如何解决这个问题,并感谢任何人都可以给我的任何帮助。
这是我的代码:
{{1}}
谢谢! 大卫
答案 0 :(得分:0)
问题在于进口:
import requests
import json
from meraki import meraki
像requests
这样的模块是Transcrypt不支持的标准Python模块,因为它使用的是用C编写的代码,不能在浏览器中运行。
对于json
,有一个JavaScript版本,可以直接在Transcrypt中使用而没有问题。
模块meraki
我不知道,所以无法判断。
虽然Transcrypt发行版中提供了越来越多的标准模块,但它通常使用JavaScript模块,因为它们专门针对在浏览器中有意义的功能。
E.g。浏览器通常禁止本地文件访问,因此任何使用它的模块都无法做到这一点。
另见:
http://www.transcrypt.org/docs/html/what_why.html#the-ecosystem-different-batteries
所以在Transcrypt你用Python编程,但你使用的lib主要是JavaScript。例外是非常常见的库,如math,cmath,random(部分),time,datetime,itertools,re等。
要了解如何使用Transcrypt的JavaScript库,请查看:
http://www.transcrypt.org/examples
以及:
http://www.transcrypt.org/docs/html/integration_javascript.html#mixed-examples
[编辑]
我已经对你的应用程序进行了另一次好看,我注意到它是一个典型的控制台应用程序,使用input
和print
之类的东西。虽然Transcrypt以有限的方式支持这些,但请参阅
一般来说,Web应用程序的工作方式有所不同。
通常它们是事件驱动的,这意味着许多GUI元素拼凑在一起,有时是HTML,有时是脚本。然后,这些GUI元素触发事件,然后触发某些代码片段(事件处理程序)。
因此,下一步可能是研究这种工作方式。 Transcrypt中的一个很好的简单例子,HTML / DOM以及以这种方式合作的脚本就是这个:
http://www.transcrypt.org/docs/html/installation_use.html#your-first-transcrypt-program
在许多情况下,使用Web应用程序时,还会与Web服务器进行交互,因此部分处理是在服务器上完成的。
你可以,例如使用Bottle或Django,如下所示:
https://github.com/Michael-F-Ellis/NearlyPurePythonWebAppDemo