py2exe和Tableau Python API

2024-09-29 23:15:47 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,请原谅,如果我使用某些术语不正确(会计按行业…)

我正在写一段代码,我打算打包成.exe产品。在

我已经包括了一些标准库(xlrd、csv、math、operator、os、shutil、time、datetime和xlwings)。不幸的是,当我添加了“dataextract”库时,我的程序停止工作了。在

dataextract是专门为名为Tableau(市场上领先的BI解决方案之一)的软件编写的API。澳优目前也不为其网站提供任何维护支持。在

我已经在非常基本的设置上进行了测试:

from xlwings import Workbook, Sheet, Range
Workbook.set_mock_caller(r'X:\JAC Reporting\Tables\Pawel\Development\_DevXL\Test1.xlsx') 
f = Workbook.caller()
s = raw_input('Type in anything: ') 
Range(1, (2, 1)).value = s

这个很好用。添加后:

^{2}$

控制台(黑匣子)只会在屏幕上闪烁,不会发生任何事情。在

问题:

  1. 库(在本例中为“dataextract”)是否必须满足某些标准才能与py2exe兼容?

  2. 由于Tableau不维护原始代码,这是否意味着我无法使用py2exe将其打包到.exe中?

最后:我已经使用了将近2年的“dataextract”,只要你能通过.py文件运行这个程序,它就会像一个符咒一样工作:)我决定把它再进一步。在

如有任何意见/意见,我们将不胜感激。在

编辑: 不确定是否有用,但当我尝试使用cx冻结编译器运行同一脚本时,出现以下错误:

Error msg


Tags: 代码程序标准产品rangexlwingsexeworkbook
1条回答
网友
1楼 · 发布于 2024-09-29 23:15:47

首先要感谢@Andris,他为我指出了正确的方向。在

结果发现,在编译器运行时,DataExc库DLL不会自动复制。因此,您需要将它们从“site package/dataextrac/bin”复制到“dist”文件夹中。在

同样从12个DLL你只需要其中9个(我试着为每个DLL运行exe文件)。你不需要的是:icin44.dll、msvcp100.dll和msvcr100.dll。在

为了安全起见,无论如何我都会应付的。在

希望这篇文章能对其他人有所帮助:)

相关问题 更多 >

    热门问题