- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按照说明进行操作 here使用 Boost.Python。源代码在该网页中。我可以编译、链接这个简单的示例代码,但我无法在 python 命令行中导入生成的模块。总是报错:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named hello_ext
我不知道出了什么问题,因为该页面只是说:“就是这样。我们完成了。我们现在可以将其构建为共享库。生成的 DLL 现在对 Python 可见。”这是我的搭建环境:
那么,你能告诉我如何在 python 中导入模块吗?非常感谢。
最佳答案
我自己解决了这个问题。感谢 jagerman 的有用建议。
(1) 只需将输出文件名从 ConsoleApplication1.dll 更改为 hello_ext.pyd。您可以通过将 Pages->General->Target Extension 设置为“.pyd”来自动重命名。确保文件 hello_ext.pyd 在 python 的搜索路径中。你可以把它扔到 C:\Python27\DLLs 这是 python 的内置搜索路径之一。
(2) 现在你会得到一个不同的导入错误:DLL load failed: The specified module could not be found。如果您仔细查看 hello_ext.pyd 的文件大小,您可能会注意到一些有线的东西——它只有 19KB。这意味着它不包含导入 python 所需的所有内容,因此 python 必须找到缺失的部分才能正确导入它。是的,您可能会猜到——唯一可能缺少的东西是 Boost.Python 库,因此将它的路径添加到 PATH 环境变量中——对我来说,它是 C:\local\boost_1_64_0\lib64-msvc-14.0。
那么问题就解决了。注意:其他相关问题中的一些答案可能建议构建为静态库,这样,您将收到另一个导入错误:DLL 加载失败:%1 不是有效的 Win32 应用程序。所以只需构建为 DLL。 PS:您不需要像一些评论建议的那样在属性页->链接器->输入->附加依赖项中指定 boost_python-vc140-mt-1_64.lib 或 boost_python-vc140-mt-gd-1_64.lib。
关于python - 无法导入 Boost.Python 创建的 dll(遵循 Boost Python 的 QuickStart),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44161857/
我是 Docker 和 Hadoop 系统的新手。我已经在 Ubuntu 16.04 中安装了 Docker,并在一个新的 Docker 容器中运行来自 Cloudera 的 Hadoop 镜像。但是
我正在尝试使用电子邮件和密码使用 Firebase 身份验证的示例代码: EmailPasswordActivity.java ,我得到一个“Cannot resolve symbol 'quicks
我试图使用以下命令停止运行cloudera/quickstart的容器 docker stop [container] 但它并没有停止,而且会永远持续下去(什么也没有发生)。如果我尝试使用删除它也会发
我是Hadoop的新手,并且使用cloudera quickstart vm(版本:Cloudera Standard 4.7.2)熟悉Hadoop。我已经将Java MRJ编译为Java 1.7,c
帮助我解决以下问题。 当我尝试使用location关键字在 hive 中创建新表时,出现以下错误。请帮我 hive> create table employee2(empid int, empname
我已在 Windows 8 主机上安装了 Cloudera Quickstart VM。我想知道是否可以在VM中使用sqoop从主机中运行的mysql数据库导入数据。VM运行centOS。如果是这样,
我希望实现 this type我的应用程序的 float 操作按钮的入门指南。是否有解释如何实现此功能的预定义模板或示例代码?我找不到任何代码示例,只有 Material Design Do/Don'
尝试学习 Angular,所以我从他们网站 ( https://angular.io/guide/quickstart ) 中的 TypeScript 快速入门教程开始 我正在使用 ubuntu 14
当发布候选版本发布时,我正在尝试浏览 Angular2 的快速入门。然而, typescript 编译器抛出了很多我无法弄清楚的错误。 https://angular.io/guide/quickst
我正在尝试启动并运行 angular2 quickstart 应用程序,但在运行 gulp 命令时遇到错误。 我有 ubuntu 15.04。我安装了 nodejs v0.10.25 和 npm 1.
问题 我正在尝试完成MongoDB on AWS quickstart创建一个简单的 MongoDB 集群。不幸的是,它从未完成部署,在一小时内未完成最后一个安装部分(PrimaryReplicaNo
第一次尝试使用干净的 Sphinx 1.1.3 安装来使用 Sphinx,但 shinx-quickstart 失败了。是否应该安装任何依赖项?我尝试 pip --force-reinstall sp
在kudu官方网站上检查后,我得到了一些说明,以下载kudu virtualbox镜像并安装vm。但是该存储库不再可用。 还有其他方法可以获取Kudu quickstart vm吗? 最佳答案 最后,
我正在Windows 10上使用docker,并且正在使用bash命令访问容器中的文件。 我将要搜索的文件本地化,需要在代码中更改一行,但是我不知道如何访问该脚本来对其进行编辑。 “cat”和“les
即使看了教程,我也不是很清楚架构。我们如何在分布式环境中扩展流集?比方说,我们的输入数据速度从源开始增加,那么如何确保 SDC 不会出现性能问题?将运行多少守护进程?是 Master worker 架
当我跑 sphinx-quickstart ,它问了我一堆问题。 > Root path for the documentation [.]: > Separate source and build
我正在尝试使用 cloudera quickstart vm 的配置单元 CLI 在配置单元中创建一个表。该命令被卡住,甚至在很长一段时间后也没有发生任何事情。我错过了什么吗?如果有人可以为此提供帮助
我正在按照英雄之旅教程构建我的第一个应用程序。我编写了一个组件文件 threads.component.ts,如下所示: @Component({ moduleId: module.id,
我是 TurboGears 的新手,刚刚在虚拟环境中安装了 TG2 开发。我正在关注 quickstart guide , 并通过 成功构建了一个 helloworld paster quicksta
我正在尝试使用 this 在 openshift 上设置 plone指南,在 window 上。我在 openshift quickstart guide 之后有 git 和 rhc .但是,当我到达
我是一名优秀的程序员,十分优秀!