问题标签 [cffi]

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 投票
1 回答
72 浏览

python - 使用 cffi python 更新结构成员

大家好,我有一个包含以下成员的结构

我有以下python函数

当我打印结构成员即 kwargs 时,除了第一个成员之外,结构成员不会更新。我是否传递或接收任何错误的值?请让我知道我的代码中的任何错误,谢谢。

0 投票
1 回答
367 浏览

python - python cffi被windows defender隔离

当我在 pycharm 上安装 paramiko

我收到消息 错误消息

同时收到windows defender消息,判断_cffi_backend.cp36-win_amd64.pyd为木马(Win32/Skeeyah.I)。

这是误判吗?我可以停止安装 Windows Defender 吗?这安全吗?

0 投票
0 回答
171 浏览

python - 如何使用 CFFI 调用结构

我正在使用 python 文件来调用已经通过 cffi 翻译的 C++ 结构。我目前遇到的错误是我的结构不可调用。我怎样才能正确调用这个结构?我首先正确地对 cffi 翻译器中的结构进行 cdef 吗?

(simple_cffi_builder.py)

我试图调用的结构(_simplebfs_cffi.cpp):

我用来调用生成的 C++ 代码的代码 (run_simple_bfs_cffi_python.py):

当我尝试运行上面的代码时,我得到了错误:

回溯(最后一次调用):文件“run_simple_bfs_cffi_python.py”,第 18 行,在 run_bfs()() 文件“run_simple_bfs_cffi_python.py”,第 15 行,调用中 (self.bfs)() TypeError: cdata 'struct run_bfs * ' 不可调用

0 投票
1 回答
122 浏览

windows - Unable to use libcurl with cffi on Windows 10

I am playing with the CFFI tutorial on Windows 10 and have installed the libcurl-devel package using msys2. I found a file libcurl.dll.a in the directory c:\msys2\usr\lib\ and added this directory to *foreign-library-directories* using:

#xA;

But if I try (use-foreign-library libcurl) I get the following error:

#xA;

What am I missing? I tried to point to libcurl.dll.a directly but the error stays the same:

#xA;

Here is the complete code as given in the tutorial:

#xA;

EDIT

I am using SBCL 1.4.16 from the portacle package.

EDIT 2

Just for the sake of completeness. If I change define-foreign-library to

#xA;

the errors changes:

#xA;

As far as I understand at least the file is found but seems not to be in the right format. I didn't find any further information about the difference between dynamic (.dll) and static (.dll.a) files with respect to cffi and don't have the resources at the moment to further investigate this.

0 投票
1 回答
69 浏览

visual-studio - 我在哪里可以获得 pyTorch 0.4.1 所需的 Visual Studio 15.4

我对以下依赖链有疑问:

  • MedicalDetectionToolkit (MDT) 需要 pyTorch 0.4.1,因为在 pyTorch 1.0 中,torch.utils.ffi 已被贬低
  • pyTorch 0.4.1 需要 CUDA 9.0(不适用于 10.0)
  • CUDA 9.0 不适用于 Visual Studio > 15.4
  • Visual Studio 15.4 在任何地方都不可用,MSVS 安装程序将安装 15.9

Visual Studio 安装程序允许并排安装“编译器工具 15.4”,但 MDT 在某些时候使用 torch.utils.ffi,它只使用 15.9。

所以

如何安装 Visual Studio 15.4?

或者

如何告诉torch.utils.ffi使用 15.4 编译器?

(MedicalDetectionToolkit作者不会更新,我可以试试,但想先有一个工作版本。)

0 投票
1 回答
432 浏览

python - 使用 CFFI 构建 Python-C 扩展,但 Setuptools 在构建中不包含自定义头文件

我正在尝试使用 Python 中的 CFFI 包为现有的 C 代码创建 Python 接口。

我可以按照这篇博文编译一个 C 库。现在我想让这个 python 库可用,而不需要对 sys.path 进行任何花哨的更新。

我发现也许通过 Python 的 setuptools setup() 函数创建一个发行版可以实现这一点,我通过创建一个 setup.py 文件来让它大部分工作

,但我遇到了这个错误

据我所知,问题是sobel.h文件没有上传到buildsetuptools.setup(). 我寻找了有关如何使用Extensions()和编写MANIFEST.in文件的建议,并且似乎都为正确的头文件添加了相对路径:

但我仍然收到相同的错误消息。有没有正确的方法将头文件添加到build文件夹中?谢谢!

0 投票
0 回答
1140 浏览

python - 如何修复“导入错误:无法导入 cffi”

我正在按照说明安装 OpenAI Universe。我在以 Windows 10 作为主机的虚拟机上使用 Ubuntu 18.04。我需要构建 docker 来完成这个过程,但是当我给出命令时:

我收到一条错误消息:

ImportError:没有名为“cffi”的模块

我运行了python并导入了cffi,它成功导入了。我使用 pip 命令重新安装了它,仍然不行。

我才开始使用码头工人,我对他们知之甚少。即使在安装了 cffi 之后,我也不知道为什么会发生这种情况。

如何修复此错误?

以下是命令的完整输出:

输出:

注意:我已将输出中的下载链接替换为“链接”,因为堆栈不允许我包含超过 8 个链接。

Docker 版本:18.09.7,构建 2d0083d

Linux 版本:Ubuntu 18.04

蟒蛇版本:3.7.3

0 投票
0 回答
408 浏览

python - 无法在 AIX 框中安装 cffi python 包

我正在尝试在 AIX 服务器上使用 pip for python 3.5 安装 cffi 包,但它失败并出现关于 xlc_r 的错误以及关于找不到 libffi 包的错误。

点安装 cffi

我在哪里找到 libffi:

我试过这个http://www.rootvg.net/content/view/812/169/。不工作。我在 AIX 7.1 上使用 python3.5

在这里期待有关修复的建议。

0 投票
1 回答
1283 浏览

azure-blob-storage - 如何修复:“无法为 ffi.callback() 分配写入+执行内存”在由 udev 规则启动的脚本中

当通过 cli 启动我的 python 脚本时,它使用位于包 azure.storage.blob 中的 BlockBlobService 运行完美,但是当通过 udev 规则启动时,它显示以下消息:

我已经检查过 SELinux 或 PaX 等安全模块是否会阻止内存分配。

查看 BlockBlobStorage 代码。文件的以下片段中引发了异常:azure.storage.common.storageclient.py:

在查看 cffi 代码时。以下片段似乎格式化了消息:文件:cffi/_cffi_backend.c

当由 udev 规则启动时,如何使该脚本运行?

0 投票
1 回答
2072 浏览

python - pip WeasyPrint 安装后如何解决 Cairo 和 Pango 版本问题?

我想在运行 Debian GNU/Linux 8 的服务器上运行 WeasyPrint 库中的一些 Python 代码。代码实际上似乎在工作,除了 WeasyPrint 每次运行代码时都会发出警告:

为了调查这一点,我首先查看了我的pip list. 在安装 WeasyPrint 时,我使用python -m pip install weasyprint了 ,它可能安装了 10 个依赖项。但是,与开罗有关的唯一内容似乎是CairoSVG v2.4.2cairocffi v1.1.0cffi 1.12.3。我的任何东西pip list都只有“开罗”这个名字。我认为这可能cairocffi是我需要查看的内容,但使用python -m pip install cairocffi -U没有找到更新。此外,Cairo 网站建议使用sudo apt-get install libcairo2-dev,但提示返回一条消息说“libcairo2-dev 已经是最新版本”。

在我曲折的搜索中利用这个机会来调查 Pango 的问题时,我变得特别困惑。我find -type d -name "*pango*"在我正在使用的Python虚拟环境目录中使用,发现即使名称为pango的目录也没有。根据该网站,Pango 与 Cairo 集成,但由于python -m pip install weasyprint安装了 cairocffi,但我find没有返回任何结果,我对 Pango 功能目前的位置感到困惑。我找到了Pango 的源代码包,但我什至不知道将这些文件放在哪里来替换现有代码。我也没有从源代码下载/安装 Python 包的经验,更不用说我什至无法弄清楚我当前的设置是如何工作的。

cairocffi 和 cairo 是什么关系?同样,Pango 与 cairocffi 与 cairo 的关系是什么?我应该如何继续解决我遇到的版本警告?

如果这不是发布此内容的正确位置,请引导我到更合适的区域,我会将其带到那里。