【问题标题】:Python 2.7: "unresolved import: ConfigParser"Python 2.7:“未解决的导入:ConfigParser”
【发布时间】:2012-08-28 16:48:37
【问题描述】:

我最近编写了一个 Python 2.7 脚本(在 Eclipse 上使用 PyDev),它利用了内置的 ConfigParser 模块,并且该脚本运行良好。但是当我将它导出并发送给同事时,他无法让它工作。即使我们使用完全相同的设置,他也会不断收到“未解决的导入:ConfigParser”错误。这不应该发生,因为 ConfigParser 是内置的。

我到处搜索,但似乎找不到任何可行的解决方案。任何帮助将不胜感激。

【问题讨论】:

  • 我假设 PyDev 给出了这个投诉,但代码运行良好?
  • 您的同事使用的是什么版本的 Python?在 Python 3.x 中,该模块已重命名为 configparser。
  • Delnan:代码无法在他的计算机上运行。 Ned Deily:我们都在使用 2.7。
  • 那他运行的时候遇到什么异常呢?因为“unresolve import: ...”是 PyDev 消息,而不是错误。
  • 我刚和他核实过 - 它无法识别模块。

标签: python pydev configparser


【解决方案1】:

ConfigParser 在 python 3 中被重命名为 configparser。很可能他正在使用 3 并且找不到旧的 py2 名称。

你可以使用:

try:
    import configparser as ConfigParser
except ImportError:
    import ConfigParser

【讨论】:

    【解决方案2】:

    要查看发生了什么,最好在两台计算机上比较正在使用哪个 sys.path (即:在运行模块的开头放置下面的代码并比较每种情况下的输出):

    import sys
    print '\n'.join(sorted(sys.path))
    

    现在,如果错误不是在运行代码时出现(即:它运行良好并且您没有异常),并且他仅在 PyDev 中收到错误,则可能是他身边的解释器配置不正确,并且其中一个通过上面的命令打印的路径没有被添加到 PYTHONPATH 中(可能是他在虚拟环境中并且没有将路径添加到原始 /Lib 或者添加了一些不应该存在的路径 - 甚至在其他地方有一些与 Python 标准库中的模块冲突的 ConfigParser 模块)。

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 2020-10-17
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      相关资源
      最近更新 更多