ImportError: No module named Adafruit_SSD1306 Update
Peter J. Holzer
hjp-python at hjp.at
Sat Dec 7 07:43:25 EST 2019
On 2019-12-05 19:30:31 +0000, Rhodri James wrote:
> On 05/12/2019 18:49, RobH wrote:
> > TabError: inconsistent use of tabs and spaces in indentation
>
> The problem will be that you have a mix of tabs and spaces in your
> indentation. This causes problems because some people don't think that the
> One True Tab Width is 8 characters ;-) so to them the indentation looks
> ragged. Worse, when they mix tabs and spaces, code that looks to be at the
> same indentation level to them looks different to the interpreter. The
> decision was taken a while ago that Python should put its foot down about
> this, and demand that we use either all tabs or all spaces for our
> indentation.
At least as of Python 3.7, this is not true: You can mix spaces and tabs
in the same line. The mix just has to be consistent between lines. So
for example:
1 #!/usr/bin/python3
2
3 def f(a, b, c):
4 if a < b:
5 »·······if b < c:
6 »······· print("x")
7 »·······else:
8 »······· print("y")
(I have configured vim to display a tab as a right guillemet followed by
middle dots and simply pasted that into this message)
produces the error message:
File "./indent3", line 5
if b < c:
^
TabError: inconsistent use of tabs and spaces in indentation
because depending on the tab width line 5 might be more or less indented
than line 4.
(I don't actually understand the rules here: I constructed a very
similar example before that the same python interpreter accepted.)
However, this works:
1 #!/usr/bin/python3
2
3 def f(a, b, c):
4 if a < b:
5 »···if b < c:
6 »··· print("x")
7 »···else:
8 »··· print("y")
I would recommend to avoid that and stick to either tabs or spaces
(personally, I prefer spaces). You might want to use an editor which
can display tabs specially (like vim).
hp
--
_ | Peter J. Holzer | Story must make more sense than reality.
|_|_) | |
| | | hjp at hjp.at | -- Charles Stross, "Creative writing
__/ | http://www.hjp.at/ | challenge!"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20191207/dba77bed/attachment.sig>
More information about the Python-list
mailing list