py2exe 和 Tableau Python API
py2exe and Tableau Python API
首先,如果我使用的某些术语不正确,请原谅(贸易会计师...)
我正在编写一段我计划打包为 .exe 产品的代码。
我已经包含了许多标准库(xlrd、csv、math、operator、os、shutil、time、datetime 和 xlwings)。不幸的是,当我添加 'dataextract' 库时,我的程序停止工作了。
dataextract 是 API 专门为名为 Tableau 的软件(市场上领先的 BI 解决方案之一)编写的。 Tableau 网站也表示目前不为其提供任何维护支持。
我已经在非常基本的设置上对其进行了测试:
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
这很好用。添加后:
import dataextract as tde
控制台(黑框)只会在屏幕上闪烁,什么也不会发生。
问题:
库(在本例中为 'dataextract')是否必须满足特定条件才能与 py2exe 兼容?
由于Tableau不维护原始代码,是否意味着我无法使用py2exe将其打包成.exe?
最后:我使用 'dataextract' almost 已经 2 年了,只要你 运行 通过 .py 文件的程序,它就像一个魅力: ) 我只是决定更进一步。
任何 comments/input 将不胜感激。
编辑:
不确定它是否有帮助,但是当我尝试使用 cx_Freeze 编译器 运行 相同的脚本时,出现以下错误:
首先非常感谢@Andris,他为我指出了正确的方向。
事实证明,当编译器 运行 时,dataextrac 库 dll 不会自动复制。因此,您需要将它们从 'site-package/dataextrac/bin' 复制到 'dist' 文件夹中。
另外,从 12 个 dll 中,您只需要其中的 9 个(我为每个 dll 尝试了 运行 exe 文件)。您不需要的是:icin44.dll、msvcp100.dll 和 msvcr100.dll.
为了安全起见,我还是会应付他们的。
希望这篇post对其他人有所帮助:)
首先,如果我使用的某些术语不正确,请原谅(贸易会计师...)
我正在编写一段我计划打包为 .exe 产品的代码。
我已经包含了许多标准库(xlrd、csv、math、operator、os、shutil、time、datetime 和 xlwings)。不幸的是,当我添加 'dataextract' 库时,我的程序停止工作了。
dataextract 是 API 专门为名为 Tableau 的软件(市场上领先的 BI 解决方案之一)编写的。 Tableau 网站也表示目前不为其提供任何维护支持。
我已经在非常基本的设置上对其进行了测试:
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
这很好用。添加后:
import dataextract as tde
控制台(黑框)只会在屏幕上闪烁,什么也不会发生。
问题:
库(在本例中为 'dataextract')是否必须满足特定条件才能与 py2exe 兼容?
由于Tableau不维护原始代码,是否意味着我无法使用py2exe将其打包成.exe?
最后:我使用 'dataextract' almost 已经 2 年了,只要你 运行 通过 .py 文件的程序,它就像一个魅力: ) 我只是决定更进一步。
任何 comments/input 将不胜感激。
编辑: 不确定它是否有帮助,但是当我尝试使用 cx_Freeze 编译器 运行 相同的脚本时,出现以下错误:
首先非常感谢@Andris,他为我指出了正确的方向。
事实证明,当编译器 运行 时,dataextrac 库 dll 不会自动复制。因此,您需要将它们从 'site-package/dataextrac/bin' 复制到 'dist' 文件夹中。
另外,从 12 个 dll 中,您只需要其中的 9 个(我为每个 dll 尝试了 运行 exe 文件)。您不需要的是:icin44.dll、msvcp100.dll 和 msvcr100.dll.
为了安全起见,我还是会应付他们的。
希望这篇post对其他人有所帮助:)