【问题标题】:PyCharm does not recognize module (cx_oracle) installedPyCharm 无法识别已安装的模块 (cx_oracle)
【发布时间】:2017-05-16 16:21:21
【问题描述】:

我在 Python3 中使用 anaconda

我使用 pip 安装了 cx_oracle 包。
当我键入import cx_Oracle 或运行代码时,python 解释器会识别包并运行它,但由于某种原因,PyChram 无法识别包并且不建议我自动完成。

正如你在截图中看到的,包名是cx-Oracle而不是cx_Oracle,所以我在anaconda文件夹(和子文件夹)中寻找cx-Oracle并将其更改为cx_Oracle,但没有成功.

【问题讨论】:

  • 确保为您的项目选择了正确的解释器。
  • 它是正确的解释器。

标签: python pycharm anaconda cx-oracle


【解决方案1】:

不要重命名文件夹!分布式包的名称中是否有破折号并不重要——它的开发人员可能已经处理了它,并且它安装在 Python 包下并带有下划线。

在您的终端中,检查“pip freeze”的输出。那里列出了包裹吗?

如果没有,请运行“which python”。如果它与项目解释器对话框中的不同,那就是问题所在。您应该首先激活正确的虚拟环境。

此外,有时 PyCharm 无法更新索引。重新启动或重置解释器可能会有所帮助。

【讨论】:

  • 我输入了pip freeze 并且包存在,cx-Oracle==5.2.1。我跑了which python,和项目解释器一样。我在项目解释器中重新启动了解释器。
  • 这是一个愚蠢的想法,但是您输入的是 Oracle 还是 0racle?零还是字母 O?
【解决方案2】:

这可能来自各种来源,下面列出了主要来源:

第一个来源:C++ 编译器

您可能没有 Microsoft Visual C++ 编译器。

下载 Microsoft Visual C++ 2015 并安装。

然后重新启动 Pycharm 并检查您的问题是否已解决。

第二来源:与其他包冲突

如果你使用 Anaconda,你可能已经安装了 SQLAlchemy 包,它已经包含了 sql 连接器的实例(例如 pyodbc.py、cx_oracle.py、...)。从项目解释器列出的包中卸载 SQLAlchemy(对于 PyCharm,转到文件 -> 设置 -> 项目解释器)将有助于解决与文件名的冲突。

以下帖子也可以帮助您解决问题: Deploying cx_Oracle in Windows

基本上,答案列出了 4 个不同的问题根源(包括缺少 C++ 编译器或需要安装 Oracle 客户端)。

【讨论】:

  • 请删除反对票,因为我的回答帮助我解决了完全相同的问题。谢谢
  • 我是您帖子的唯一评论者,我收到了该消息。我不是反对你的人,所以我不能反对我没有反对的人。
  • 当然,我的评论只是针对这样做的人,而不是你!
猜你喜欢
  • 2015-09-22
  • 2021-11-19
  • 1970-01-01
  • 2016-11-05
  • 2014-11-29
  • 2020-12-28
  • 2019-06-02
相关资源
最近更新 更多