我很擅长使用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编码很新。
答案 0 :(得分:1)
对每个python项目使用virtualenv几乎是必要的。
virtualenv创建了一个专用的python环境,它可以帮助您远离许多操作系统。相关问题。
Here,你可以找到一些兼容所有Python版本的virtualenv解决方案,以及official python 3.6.4 documentation。