transcrypt connectionpool错误

时间:2018-01-11 16:15:25

标签: python transcrypt

我对编码和网络开发很陌生。我是一名系统工程师,希望进入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}}

谢谢! 大卫

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

[编辑]

我已经对你的应用程序进行了另一次好看,我注意到它是一个典型的控制台应用程序,使用inputprint之类的东西。虽然Transcrypt以有限的方式支持这些,但请参阅

http://www.transcrypt.org/docs/html/integration_javascript.html#example-using-input-and-print-in-a-dom-terminal-element-in-your-browser

一般来说,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