AttributeError: 'NoneType' object has no attribute 'loader'

Question:

having an issue today when I started up my laptop (Ubuntu 18.4) and trying to use pip to install packages, I’m met with this error:

Error processing line 3 of /home/cjones/.local/lib/python3.6/site-packages/googleapis_common_protos-1.5.8-py3.6-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/lib/python3.6/site.py", line 174, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored

I don’t think I changed anything since last successful boot but it seems as though something is missing… can anyone help?

Asked By: Cam

||

Answers:

Delete /home/cjones/.local/lib/python3.6/site-packages/googleapis_common_protos-1.5.8-py3.6-nspkg.pth and retry.

Answered By: Chankey Pathak

I had the similar problem, but the error message referenced a different .pth file. The error message I received was:

Error processing line 1 of /Users/jt/anaconda3/lib/python3.7/site-packages/sphinxcontrib.datatemplates-nspkg.pth:

  Traceback (most recent call last):
    File "/Users/jt/anaconda3/lib/python3.7/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 580, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored

Following the solution described here:

https://github.com/Pyomo/pyomo/issues/95

I edited the .pth file (the file at the start of the error message, immediately after the text Error processing line 1 of) and added a newline character after the first semicolon. That is, I changed:

import sys, types, os;has_mfs = sys.version_info > (3, 5);p ...<rest of file>

To:

import sys, types, os;
has_mfs = sys.version_info > (3, 5);p ...<rest of file>

I don’t know why this worked, but it did.

Answered By: jeffteeters

I had a similar error with my virtual environments on a mac, but referring to matplotlib:

Error processing line 1 of //anaconda3/lib/python3.7/site-packages/matplotlib-3.1.3-py3.7-nspkg.pth:

As in the previous answer, it was solved by changing the file mentioned:

import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).$

to this, via a linebreak:

import sys, types, os;
has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).$
Answered By: aodhanlutetiae

I had to do :0,$s/;/;r/g in vi.

it looks like a line is too long for pip3 to process. Basically, some packages put all commands on one line and that overflows a buffer somewhere.

This vi command puts a carriage return after every semicolon. (It is possible a newline (n) would work instead of a carriage return.)

Breakdown of the command:

: - use ED line editor command
0,$ - run on all lines
s - regular expression substitution
/ - delimiter start search
; - replace semicolon with
/ - delimiter end search start replace
;r - replace with semicolon followed by carriage return
/ - delimiter end replace
g - global - do more than once per line.

This is a very common vi command. If you need to replace a "/", you can use another character as the delimiter – the first character after "s" is the delimiter

Answered By: Aaron Bredon

the line is too long for pip3 to process.
You can reinstall googleapis_common_protos to fix this problem.
it means you can run this:

pip uninstall googleapis_common_protos
and
pip install googleapis_common_protos

Answered By: Darren Chen

I seperated all lines with ; especially adding a ; where none was present.
For example: (p not in mp) and mp.append(p)
to
(p not in mp) and mp.append(p);

Answered By: Amado Castaneda

SOLUTION – FIX:

  1. https://ubuntu.pkgs.org/18.04/ubuntu-main-amd64/python3-pastescript_2.0.2-2_all.deb.html

  2. Download: python3-pastescript_2.0.2-2_all.deb

Download: http://archive.ubuntu.com/ubuntu/pool/main/p/pastescript/python3-pastescript_2.0.2-2_all.deb

  1. Force Install:

┌──(chacka0101㉿kali)-[~/Downloads]

└─$ sudo dpkg -i –force-overwrite python3-pastescript_2.0.2-2_all.deb

Answered By: CHackA0101
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.