【发布时间】:2011-08-07 06:25:05
【问题描述】:
在使用 py2exe 转换 python windows 服务方面我需要一些帮助。
让我解释一下这个问题。我有一个 python 服务,它可以工作,这里没有问题。我使用 py2exe 将其转换为可执行文件。我通过用这个替换服务的python版本来测试它,它也没有问题。
但是当我将服务的exe版本移动到另一台计算机时,它会在服务管理器中注册但不会启动错误:“系统找不到指定的文件”。丢失的文件是我编写的模块之一。
我玩了一下,然后回到我使用 py2exe 和服务的 exe 版本工作的机器上。我删除了与 python 相关的所有内容,py2exe 创建的所有内容,但“dist”文件夹,我能想到的所有内容都与服务的 python 版本有关。 exe 版本仍然有效(尽管我删除了其他机器上应该丢失的文件)。
尝试了很多不同的东西,但无法让 exe 版本正常工作。如果你们中的任何人有任何想法,我将不胜感激。
P.S:我确实在目标机器上安装了 c++ 运行时。没有它你无法注册服务,正如我所说,我可以注册它,它只是无法运行。
【问题讨论】:
-
不太熟悉它在 Windows 上的工作原理,但在 Linux 上,您可以对二进制文件运行 'ldd' 以查看它依赖于哪些动态库以及它们在文件系统上的位置。这将是值得检查的。事实上,我做了一个快速的谷歌搜索,并在 Windows 上找到了这个:dependencywalker.com
标签: python windows-services py2exe