问题标签 [pyd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
14897 浏览

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

我的应用程序的其中一个模块使用 .pyd 文件中的函数。有一个排除 dll (exclude_dlls) 的选项,但有一个选项可以包含它们吗?尽管复制了其余文件(.py),但构建过程似乎并未复制我模块中的 .pyd。我还需要包含一个 .dll。如何让 py2exe 同时包含 .pyd 和 .dll 文件?

0 投票
2 回答
6781 浏览

import - 如何在 IronPython 中导入 .PYD 模块?

我正在尝试使用 IronPython 的 python 包。如果我导入常规的 python 模块,一切正常。

但是当我尝试执行以下操作时:

我得到:

我已经搜索了 IronPython.Runtime.Importer 中的代码,但没有提到 .pyd

有人知道解决这个问题的方法吗?

0 投票
3 回答
9207 浏览

python - *.pyd 文件无法加载,但 DependancyWalker 干净,ProcMon 显示它已加载

我正在尝试使用 Python 加载 *.pyd,但我收到众所周知的“导入错误:DLL 加载失败:找不到指定的过程”。错误。

我已经做了以下事情:

1.) 使用 Dependency Walker 调查 *.pyd。GPSVC.DLL 和 IESHIMS.DLL 出现丢失,但延迟加载,IEFRAME.DLL 也出现丢失导出,但也延迟加载。我的理解是这些没有被使用,并且无论如何都是延迟加载,所以它们不应该是问题。

2.) 在 python 命令窗口中的 foo.pyd 上做了一个“import foo”,ProcMon 监视。ProcMon 在“foo.pyd”上显示事件“LoadImage”,结果为 SUCCESS。

这似乎暗示 *.pyd 文件已正确加载。

所以我错过了什么。我的 Windows 诊断程序告诉我一切都很好,但 python 告诉我无法加载这个东西(通常是由于缺少 dll 或符号)。

想法?

谢谢!

0 投票
2 回答
269 浏览

c++ - 导入 C++ 模块,如果失败:导入 Python 版本?

我有一个用 C++ 编写的 Python pyd 模块。我还有一个 Python 版本的模块(速度要慢得多)。我的问题是,由于我希望程序在多个操作系统上运行,我是否可以尝试在程序中导入 C++ 版本并在该版本失败时导入较慢的 Python 版本(其他操作系统、架构)?

0 投票
1 回答
2539 浏览

python - Python找出编译模块的内容?

所以有了这个 Python .pyd 模块(C++),所以我不能只在文本编辑器中打开它来找出它包含的内容。那我该怎么办?我只想知道里面的函数名。

0 投票
2 回答
746 浏览

python - DLL 在子文件夹中而不是在应用程序文件夹中

已经使用 VC++ 创建了一个动态 python 文件 (pyd)。使用 cx_freeze,我创建了一个 exe。为了让这个程序在其他计算机上运行,​​我需要在应用程序文件夹中有一个文件 msvcr100.dll。我确实得到了想要的输出。

但是,Microsoft 的分发许可证明确规定 dll 文件应位于应用程序文件夹内的子文件夹中。子文件夹应命名为“Microsoft.VC100.CRT”。我尝试通过更改项目属性来使用 MS VC++ 中的设置。事实证明它非常棘手,因为我使用 MSVC++ 的唯一方法是让我的 python 程序使用一些 c 选项并返回一些我可以在我的 python 程序中再次使用的输出。我玩过清单文件(嵌入和不嵌入),还在 VC++ 中设置了附加库目录

任何人都知道我可以做些什么来让我的 pyd 文件查看 Microsoft.VC100.CRT。

0 投票
1 回答
154 浏览

c++ - 仅将类的单个方法移植到C?

我有一门方法很少的课程,除了一种方法外,我对所有方法的表现都很满意。我们希望将其移植到 C++。然而,我们不想花太多时间将整个类移植到 C++,只是那个单一的方法。这可能吗?我该怎么做?它应该在空白班吗?不在课堂上?我想要的是尝试使用 C 版本,如果失败(其他操作系统,缺少 pyd),则加载 Python 版本。谢谢你。

0 投票
2 回答
1611 浏览

python - Python 和 SWIG - 单个 .pyd (.so) 中的多个模块

我正在使用 SWIG 为 Python 编写 C++ 扩展。根据我对 Python 和 SWIG 的了解,每个模块都必须有自己的 .pyd 文件。例如,如果我有一个名为“mymodule”的模块,则应该有一个相应的“_mymodule.pyd”文件。

在我的特殊情况下,我希望只有一个“pyd”文件和多个链接到它的模块。

我不想维护多个.pyd,所以我可以将我的接口(.i)文件都放在VS2010中的同一个项目下。

编辑:到目前为止,我能够使其工作的唯一方法是将我的“pyd”文件复制到两个新文件中:_module1.pyd 和 _module2.pyd。但我不喜欢这个解决方案,因为我需要不必要地复制 30 Mo 的 'pyd' 文件。我希望模块链接到一个“_package.pyd”文件。

最好的方法是什么?

0 投票
4 回答
29607 浏览

python - Python C 扩展:使用扩展 PYD 还是 DLL?

我有一个用 C 编写的 Python 扩展,我想知道是否应该在 Windows 下使用文件扩展名 DLL 或 PYD。(我会在 Linux 中使用什么?)

有什么区别(除了文件名)?

我找到了一篇非官方的文章。这就是pyc的秘密吗?为什么我找不到有关此主题的任何官方文章?

0 投票
3 回答
1476 浏览

python - Python:如何处理多个同名的 .pyd 依赖项?

我的 python 工作区中有两个需要 sip.pyd 的模块
Module1.pyd 需要 sip.pyd(实现 v 8.0-8.1)
Module2.pyd 需要 sip.pyd(另一个文件,实现 v6.0)

所以我不能只选择较新的,这是行不通的:我必须同时保留它们!

如何以 .pyd 扩展名(python dll,不可编辑)导入模块,并指定要获取哪个 sip.pyd?

至于解决方法,我设法做到了:

  1. 一个 sip.pyd 在我的根站点包位置。
  2. 如果我必须导入需要其他 sip.pyd 的模块,我会从 sys.path 中删除根路径,并在其他 sip.pyd 所在的位置附加精确的文件夹路径。
  3. 我可以导入我的模块并恢复以前的 sys.path。