【问题标题】:ImportError: No module named operatorImportError:没有名为操作员的模块
【发布时间】:2018-02-05 22:12:53
【问题描述】:

我对使用 python 还很陌生,并没有真正做任何配置 python 的事情。我的教授给了我们一个 autograder.py 文件,用于检查我们的 Python 代码是否正确。 autograder.py 文件导入了一个名为 Grader.py 的文件,该文件随后导入了一些名为 cgi 的文件(import cgi)。在位于'/usr/lib/python2.7/cgi.py'的这个cgi文件里面有一行代码说

from operator import attrgetter

这就是问题发生的地方。我收到以下错误

     Traceback (most recent call last):
      File "autograder.py", line 12, in <module>
        import grading
      File "/home/ggkfox/Documents/164-CSCI/1-Assignment/tutorial/grading.py", line 13, in <module>
        import cgi
      File "/usr/lib/python2.7/cgi.py", line 37, in <module>
        from operator import attrgetter
    ImportError: No module named operator

据我了解,应该内置操作员模块(根据其他堆栈溢出帖子)。此错误仅在我使用 python2.7.12(而不是 python3.5)时发生。我在 2.7 中导入 Tkinter 时也遇到了类似的问题。

我还想说我已经尝试使用以下方法卸载 python:

sudo apt-get purge python2.7

但它甚至不会卸载我什至尝试重新安装。我没有使用任何 pipenv 或 desktopenv。

我不知道还能说什么,我对 python 编码很陌生。

【问题讨论】:

  • 根据this answer,您可以尝试删除并重新创建virtualenv。
  • 我之前看过那个帖子,但我认为它不适用,因为我没有使用 virtualenv。我刚刚下载了我必须编辑的文件,然后运行它。
  • 一个 virtualenv 将创建一个“专用于您的项目需求”的 python 环境。我无法想象在 virtualenv 之外启动一个项目,因为它确实可以让你免于与操作系统相关的麻烦。我目前正在使用virtualenvwrapper,但这只是链接文档页面中的一种选择。

标签: python python-2.7


【解决方案1】:

几乎每个python项目都需要使用virtualenv。

virtualenv 创建了一个专用的 python 环境,它可以帮助您避免许多与“操作系统”相关的问题。

Here,你可以找到一些兼容所有 Python 版本的 virtualenv 解决方案,以及official python 3.6.4 documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2012-12-07
    • 2012-05-23
    • 2019-07-29
    • 2015-07-04
    • 2014-03-15
    • 2017-12-29
    相关资源
    最近更新 更多