当前位置: 首页 > 面试题库 >

PyCharm for Python编译扩展中的自动完成

傅翰池
2023-03-14
问题内容

当使用编译后的扩展(例如OpenCVPython绑定)编写Python代码时,PyCharm似乎并不知道它们的可用性。导入使用灰色下划线标记,提示“未解决的参考”作为工具提示,并且自动完成功能也不起作用。(除了已在代码中使用的函数名称。)

这不是由错误的模块路径引起的,代码启动时运行不会出错。另外,在将模块导入Python Shell中后,自动完成功能将按预期开始工作。

是否有解决方案,或者这是编译扩展的体系结构限制?是否有其他IDE可以解决此问题?


问题答案:

导入内容带有灰色下划线,并提示“未解决的参考”

这很可能意味着PyCharm无法看到您导入的模块。在编辑模式下,PyCharm依赖于导入模块的Python源。如果某个模块不是用Python编写的,而是C扩展模块,则PyCharm会生成一个包含函数原型的“骨架”,并将其用于完成。

在外壳模式下,PyCharm使用实时导入的对象进行完成,结果略有不同。

确保为项目选择的Python解释器(文件/设置/
Python解释器)对您的OpenCV安装可见。如果解释器正确,请尝试将其删除并重新添加(这很耗时,对不起)。

如果没有帮助,请提交错误。



 类似资料:
  • 扩展说明 Java 代码编译器,用于动态生成字节码,加速调用。 扩展接口 org.apache.dubbo.common.compiler.Compiler 扩展配置 自动加载 已知扩展 org.apache.dubbo.common.compiler.support.JdkCompiler org.apache.dubbo.common.compiler.support.JavassistCom

  • 我们已经在上一节准备好了需要编译的源文件,接下来需要的便是把它们编译成目标文件了。因为在*nix平台和win平台下的编译步骤有些差异,所以这个地方需要分成两块介绍,很不幸,win部分还没有整理,请随时关注本项目。 在*nix下编译 第一步:我们需要根据config.m4文件生成一个configure脚本、Makefile等文件,这一步有phpize来帮我们做: $ phpize PHP Api V

  • 提供用于创建自定义子句和编译器的API。 简介 使用涉及创建一个或多个 ClauseElement 子类和定义其编译的一个或多个可调用文件: from sqlalchemy.ext.compiler import compiles from sqlalchemy.sql.expression import ColumnClause class MyColumn(ColumnClause):

  • 我记得以前AMH自己的论坛里有篇教程有说怎么在AMH中编译自己需要的扩展, 但是现在找不到了. 我目前是需要使用MongoDB, 需要在php中启用MongoDB扩展.

  • 在前面的标准编译安装中,第一步是./configure[30],它会根据Makefile.in生成Makefile文件,然后make根据Makefile自动编译软件 通常在一个源码包中,已经包含了configure脚本和Makefile文件,作为课外知识,我们大致了解一下怎么生成这两个文件 autoconf autoconf用来生成configure脚本,它可以检查系统特性、编译环境、环境变量、软

  • 该扩展能根据Scrapy服务器及您爬取的网站的负载自动限制爬取速度。 设计目标 更友好的对待网站,而不使用默认的下载延迟0。 自动调整scrapy来优化下载速度,使得用户不用调节下载延迟及并发请求数来找到优化的值。 用户只需指定允许的最大并发请求数,剩下的都交给扩展来完成。 扩展是如何实现的 在Scrapy中,下载延迟是通过计算建立TCP连接到接收到HTTP包头(header)之间的时间来测量的。