将.dll和.pyd文件保存在其他目录中

时间:2014-01-24 20:46:04

标签: python dll python-3.x cx-freeze

我正在使用cx_Freeze将Python脚本转换为Windows可执行文件。我正在使用Scripts目录中的cxfreeze脚本。我希望cxfreeze生成的可执行文件位于不同的目录中,而.dll和.pyd则位于不同的目录中。当我试图将它们中的两个放在不同的目录中时,.exe无效,我得到了

The application has failed to start because python33.dll was not found. Try reinstalling to  fix this problem

我知道这是因为可执行文件和(dll的& .pyd)位于不同的目录中。有没有办法将它们保存在不同的目录中?

我使用以下命令生成可执行文件

C:\Python33\Scripts>cxfreeze C:\Users\me\Desktop\setup.py --target-name=setup.exe --target-dir=C:\Users\me\Desktop\new_dir

1 个答案:

答案 0 :(得分:0)

Python for Windows确实需要主要的pythonXX.dll(在本例中为python33.dll)存在于C:\ windows \ system32 \

在我们将Python安装到不同位置,网络驱动器等的各种组合中,我们总是不得不使用一些小批量文件将pythonXX.dll复制到system32目录中。

我不认为PATH操作对您有用,只需尝试将dll复制到system32并查看您的问题是否消失。

然后,如果您安装了另一个版本的Python来说C:\ Python33,那么基于Windows的安装程序将为您执行此操作,并且您将能够运行您的其他Python位置。