草庐IT

python - 为什么这个 pyd 文件在某些​​计算机上无法导入?

我的python项目有一个C++组件,它被编译并作为Pythonegg中的.pyd文件分发。我注意到它似乎只与我们全新的一些64位Windows服务器不兼容。我们有4台(据称)配置相同的机器-每台都运行Windows2003服务器64位版本,但其中2台机器不允许我调用egg中的函数。经过一些实验,我找到了producingareproducibleerror的配方.问题似乎发生在Python尝试导入pyd文件时。我将pyd复制到临时文件夹并从该位置运行Python.exe,顺便说一句,我们仍在使用32位版本的Python2.4.4,因为我们的库还没有移植到64位架构。接下来我尝试导入我

python - 在 py2exe 构建中包含 PYD/DLL

我的应用程序的一个模块使用.pyd文件中的函数。有一个选项可以排除dll(exclude_dlls),但是有没有一个选项可以包含它们?尽管复制了其余文件(.py),构建过程似乎并未复制我模块中的.pyd。我还需要包含一个.dll。如何让py2exe包含.pyd和.dll文件? 最佳答案 .pyd和.DLL在这里是不同的,因为.pyd应该由modulefinder自动找到并因此包含(只要您有适当的“导入”语句)而不需要做任何事情。如果遗漏了一个,您将执行与遗漏.py文件相同的操作(它们都只是模块):对py2exe选项使用“includ

python - 是否可以反编译 .dll/.pyd 文件以提取 Python 源代码?

是否有任何方法可以反编译dll和/或.pyd文件以提取用Python编写的源代码?提前致谢 最佳答案 我假设.pyd/.dll文件是在Cython中创建的,而不是Python?无论如何,通常这是不可能的,除非有一个专门为文件最初编译的语言设计的反编译器。虽然我知道C、C++、Delphi、.NET和其他一些反编译器,但我还没有听说过Cython反编译器。当然,Cython所做的是先将您的Python[esque]代码转换为C代码,这意味着您可能更幸运地找到C反编译器,然后根据反编译的C代码来占卜原始Python代码。至少,通过这种方

python - 使用 cx_Freeze 将所有 DLL 和 PYD 移动到子文件夹

这在cx_Freeze邮件列表中出现过很多次(见cx_FreezeandmovingfilesaroundCreatingfewerfileswhenfreezingaPythonapplicationcx_freezepythonsinglefile?)在我看来它应该是一个简单的修复程序,但我不知道如何开始。我有一个python应用程序,它依赖于scipy、wxpython、numpy和一堆其他包,每个包都有很多动态链接库。PYD和DLL文件在主可执行文件夹中变得非常困惑,甚至很难在所有文件中找到可执行文件。我的用户不是特别精通计算机,因此清晰度非常重要。我不需要像理论上可以由bbf

python - 如何将链接的 DLL 和 pyd 文件打包成一个独立的 pyd 文件?

我正在使用Cython构建一个链接到DLL文件的python模块。为了成功导入我的模块,我需要在Windows搜索路径中包含DLL。否则,典型的错误消息是:ImportError:DLL加载失败:找不到指定的模块。有没有办法将DLL直接打包到生成的pyd文件中,方便分发?这方面的一个例子是OpenCV分发,其中分发了一个(巨大的)pyd文件,并且是Python绑定(bind)工作所需的唯一文件。 最佳答案 Python的打包部署仍然是我们很多人的痛点。只是没有Elixir。以下是几种方法:1。OpenCV构建方法此处描述了该方法:h

python - python 文件扩展名 .pyc .pyd .pyo 代表什么?

这些python文件扩展名是什么意思?.pyc.pyd.pyo它们之间有什么区别以及它们是如何从*.py文件生成的? 最佳答案 .py:这通常是您编写的输入源代码。.pyc:这是编译后的字节码。如果你导入一个模块,python将构建一个包含字节码的*.pyc文件,以便以后再次导入它更容易(更快)。.pyo:这是Python3.5之前使用的文件格式,用于通过优化(-O)创建的*.pyc文件旗帜。(见下面的注释).pyd:这基本上是一个windowsdll文件。http://docs.python.org/faq/windows.htm

python - python 文件扩展名 .pyc .pyd .pyo 代表什么?

这些python文件扩展名是什么意思?.pyc.pyd.pyo它们之间有什么区别以及它们是如何从*.py文件生成的? 最佳答案 .py:这通常是您编写的输入源代码。.pyc:这是编译后的字节码。如果你导入一个模块,python将构建一个包含字节码的*.pyc文件,以便以后再次导入它更容易(更快)。.pyo:这是Python3.5之前使用的文件格式,用于通过优化(-O)创建的*.pyc文件旗帜。(见下面的注释).pyd:这基本上是一个windowsdll文件。http://docs.python.org/faq/windows.htm