【发布时间】: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