为什么这个 python 脚本找不到 libclang dll?

2024-01-04

我想开始使用libclang with Python。我正在尝试获取示例代码(http://www.altdevblogaday.com/2014/03/05/implementing-a-code-generator-with-libclang/ http://www.altdevblogaday.com/2014/03/05/implementing-a-code-generator-with-libclang/)继续努力Windows,这是我尝试运行的代码的一部分:

#!/usr/bin/python
# vim: set fileencoding=utf-8

import sys
import os
import clang.cindex
import itertools

...

print("Setting clang path")
# I tried multiple variations. Libclang is correctly installed in the specified location.
#clang.cindex.Config.set_library_path('C:/Program Files (x86)/LLVM/bin')
#clang.cindex.Config.set_library_path('C:/Program Files (x86)/LLVM/bin/libclang.dll')

# I also tried moving the dll into the Python installation folder.
clang.cindex.Config.set_library_file('C:/Python27/DLLs/libclang.dll')
print("Clang path set")

index = clang.cindex.Index.create()

...

我删除了代码的所有其他部分,但如果它们相关,我可以发布它们。线路

index = clang.cindex.Index.create()

抛出以下错误:

Setting clang path
Clang path set
Traceback (most recent call last):
  File "D:\libclangtest\boost_python_gen.py", line 60, in <module>
    index = clang.cindex.Index.create()
  File "D:\libclangtest\clang\cindex.py", line 2095, in create
    return Index(conf.lib.clang_createIndex(excludeDecls, 0))
  File "D:\libclangtest\clang\cindex.py", line 141, in __get__
    value = self.wrapped(instance)
  File "D:\libclangtest\clang\cindex.py", line 3392, in lib
    lib = self.get_cindex_library()
  File "D:\libclangtest\clang\cindex.py", line 3423, in get_cindex_library
    raise LibclangError(msg)
clang.cindex.LibclangError: [Error 193] %1 is not a valid Win32 application. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().

这是什么原因呢?是不是我的dll路径设置错了?我尝试了多种方法,使用正斜杠和反斜杠,我还尝试将 dll 移出程序文件以使路径不包含空格,但没有任何效果。

我是 libclang 和 Python 的初学者,抱歉,如果我问的是一些微不足道的问题。


我遇到了类似的问题(Windows 7 x64、Anaconda3 x64)。使用

import clang.cindex
clang.cindex.Config.set_library_file('C:/Program Files/LLVM/bin/libclang.dll')

解决了问题。请注意,您需要使用slashes(不是反斜杠),并指定路径bin/libclang.dll(不是 lib/libclang.dll)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个 python 脚本找不到 libclang dll? 的相关文章

随机推荐

  • 什么是摘要认证?

    除了以纯文本形式发送凭据之外 摘要式身份验证与基本身份验证有何不同 主要区别在于它不需要以明文形式通过网络发送用户名和密码 它也不受重放攻击的影响 因为它使用来自服务器的一次性号码 服务器向客户端提供一次性使用编号 随机数 该编号与用户名
  • 比较 JavaScript 中的时间

    我需要创建一个函数来根据时间过滤数据 我有一个相关行中包含出发时间的航班表 我需要的是 我将时间过滤器字段添加到我的表单中 以隐藏选定时间之前和之后的航班 换句话说 所选时间间隔之间的航班将可见 我从表和输入中获取时间信息没有问题 但我现在
  • JKS 与 PKCS12 在代码签名方面有何优点?

    购买代码签名证书时 从 PKCS12 开始与 JKS 证书相比有何优点 一些vendors http help godaddy com article 4780提供有关从 JKS 或 PKCS12 证书签名请求开始的说明 我们希望在使用购买
  • 如何在 Docker Swarm 中设置 Hadoop?

    我希望能够在 Docker 中启动 Hadoop 集群 将 Hadoop 节点分布到不同的物理节点 使用swarm https docs docker com engine swarm 我找到了sequenceiq 映像 它可以让我在doc
  • Python pyppeteer 拦截/捕获网络请求

    您好 我正在尝试使用 pyppeteer 拦截给定 url 的所有网络调用 my code import asyncio from pyppeteer import launch import pickle async def interc
  • 从服务器上的 SignalR hub 设置 cookie

    无论如何 我可以从 SignalR 集线器内部设置 cookie 特别是OnConnected方法 我想发送一个带有会话 ID 的 cookie 我尝试了这个 但它似乎不起作用 它也看起来很尴尬 因为我不确定为什么我需要提供字符串和 coo
  • 是否可以阻止 Jekyll 为每个帖子生成一个页面

    我正在将 Jekyll 用于博客 作品集网站 我有几篇文章是作品集条目 还有几篇是博客条目 我可以使用作品集条目帖子来构建作品集页面 www alexmarchant com portfolio 但 Jekyll 仍然为每个作品集条目生成一
  • iPhone 上的凹凸贴图

    在iPhone上使用OpenGL ES 是否可以进行凹凸贴图 使用法线扰动贴图 从我的谷歌搜索来看 支持它的 OpenGL ES 扩展似乎不允许凹凸贴图 根据this guy http www kevindoolan net blog po
  • 分布式事务中的MongoDB和MySQL事务

    我有一个用例 我们需要在分布式事务中同时使用 MySQL 和 MongoDB 即如果 MySQL 或 MongoDB 中的任何一个失败 MySQL 和 MongoDB 都必须失败 即 如果任何数据库中的任何一个发生 MongDB 和 MyS
  • 无法在 BigQuery 中使用 DML 语句在作业中设置目标表

    我正在编写 Python 代码以使用 bigquery Client query 执行 BigQuery sql 命令 我正进入 状态无法在具有 DML 语句的作业中设置目标表例外 下面是我正在使用的Python代码 if query fi
  • 如何在程序集中创建具有动态指定文件路径的文件?

    这个问题主要是如何在汇编中处理任意长字符串的路径名 而不需要db或任何类似的帮助者 我见过几个例子 例如this https www tutorialspoint com assembly programming assembly file
  • Git:在此树中查找重复的 blob(文件)

    这是一种后续行动这个问题 https stackoverflow com questions 223678 如果有多个具有相同内容的 blob 它们只会在 git 存储库中存储一次 因为它们的 SHA 1 是相同的 如何查找给定树的所有重复
  • 使用 while True 循环的托盘图标脚本无法关闭

    我想编写一个在后台运行的脚本 只要用户不退出程序 就会最小化到托盘图标 我没有也不需要花哨的 GUI 所以我只使用infi systray为了这 我需要脚本休眠一段时间 但我需要能够通过右键单击托盘图标来关闭它 当脚本运行时 我无法执行此操
  • Mac OS X 中的自动布局警告

    每次运行我的应用程序时 我都会收到一条我不完全理解的警告 Layout still needs update after calling WebHTMLView layout WebHTMLView or one of its superc
  • 如何处理 cron 触发器石英中夏令时的用户时区?

    我的服务 api 接受石英作业的开始日期和要执行的作业的月份日期 在内部 我将其转换为 cron 表达式并保存在quartz 中 例如 PST 中的用户今天 2017 年 11 月 3 日 提交了如下作业请求 start 2017 11 0
  • 将多个产品添加到 android billing 5.0.0 中的 queryProductDetailsAsync 的产品列表中

    在旧的 Android 计费实现中 您将构建一个 sku 列表来查询产品 List
  • 用于动态代码生成的最可移植库?

    我正在寻找最可移植的汇编器库 例如asmjit http code google com p asmjit or jitasm http code google com p jitasm 当我说 最可移植 时 我的意思是它对各种架构具有最大
  • 使用 Azure Databricks 和 Scala 从 Azure Sql 表中删除行

    我将 Azure Databricks 与 Scala 结合使用 我的目标是从 Azure SQL 表中删除一些行 为了实现这一点 我使用 JDBC 进行下推查询 如下所示 val pushdown query s DELETE FROM
  • 我可以使用 VBA 让 Excel 忘记它后面有一个超链接吗?

    我正在使用条件格式来影响表格中包含超链接的某些单元格的字体颜色 但是 当我点击超链接时 它会覆盖单元格中的条件格式 这是不希望的 如果当前单元格正上方的单元格具有相同的值 则条件格式本质上是使文本不可见 它使用一个公式 C5 C6 应用于整
  • 为什么这个 python 脚本找不到 libclang dll?

    我想开始使用libclang with Python 我正在尝试获取示例代码 http www altdevblogaday com 2014 03 05 implementing a code generator with libclan