Cam
Cam

Reputation: 2208

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

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?

Upvotes: 50

Views: 58507

Answers (9)

I solved it by just uninstalling googleapis_common_protos with:

pip uninstall googleapis_common_protos

and installing it back with:

pip install googleapis_common_protos

Upvotes: 0

Tesnim
Tesnim

Reputation: 1

I faced similar issue and

> rm -f /Users/boss/opt/anaconda3/lib/python3.9/site-packages/googleapis_common_protos-1.57.0-py3.9-nspkg.pth

solve the problem, for now.

Upvotes: 0

CHackA0101
CHackA0101

Reputation: 1

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

Upvotes: -1

Amado Castaneda
Amado Castaneda

Reputation: 1

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);

Upvotes: -1

Darren Chen
Darren Chen

Reputation: 51

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

Upvotes: 4

Aaron Bredon
Aaron Bredon

Reputation: 11

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

Upvotes: 1

aodhanlutetiae
aodhanlutetiae

Reputation: 51

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).$

Upvotes: 5

jeffteeters
jeffteeters

Reputation: 241

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.

Upvotes: 24

Chankey Pathak
Chankey Pathak

Reputation: 21676

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

Upvotes: 81

Related Questions