在Windows上使用pywin32 / excel移植Python到Vagrant机器上的Linux

我写了一个广泛的python包,利用excel和pywin32。 我现在正在将这个软件包移动到一个Vagrant机器上的Linux环境中。

我知道有一些“emulator-esque”软件包(例如WINE)可以运行Windows应用程序,并且对于某些Windows应用程序(例如Excel到OpenOffice)来说,它们看起来很像。 然而,我并没有看到正确的道路,为了让我的pywin32 / Excel的依赖代码在Vagrant机器上运行在Linux环境下运行。 理想情况下,我不需要改变我的代码,只需在我的Vagrant机器上进行适当的安装即可。

谢谢

简短的回答是,你不能。 WINE不会将瓶装的Windows环境的COMregistry暴露给linux,即使这样做, pywin32也不会构build在Windows以外的其他任何环境中。

所以,这里有一些选项,大概从最less量的改变到你的代码并设置到最多:

  • 在真实的Windows下运行您的Python脚本和Excel,在真实的模拟器中运行。
  • 在WINE下运行你的Python脚本和Excel。
  • 编写或查找一个库,将瓶装的Windows环境的COMregistry暴露给Linux。
  • 写或find一个跨平台的DCOM库,提供类似win32com的API,然后更改代码以使用它来远程连接到装瓶的Excel。
  • 重写你的代码来间接地脚本化Excel,例如, ssh进入一个Wi​​ndows机器并运行最小的WSH脚本。
  • 重写您的代码脚本LibreOffice或任何你喜欢,而不是Excel。
  • 重写代码以直接处理Excel文件(或CSV或其他交换格式)而不是脚本化Excel。