简体   繁体   中英

pip3 “TypeError: 'module' object is not callable” after update

I am new in Python, I wanna install Jupyter Notebook in my console I enter the following:

pip3 install --upgrade pip 

after that I have a error to use pip3 install other library, the console print:

File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

I don't know what I have to do.

I use sudo autoremove python3-pip after that I use sudo apt install python3-pip

From the link by Bram, I just ran python3 -m pip uninstall pip , and it started to work again.

The solution which worked for my situation is simply editing the pip3.8 file in the ubuntu environment.

Method1:

#!/path/to/.venv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys

from pip._internal.main import main  # <--- look at this import statement! 

if __name__ == '__main__':
     sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
     sys.exit(main())

method2:

The main function has to be imported or we can simply replace line

sys.exit(main())

As

sys.exit(main.main())

Use this

python -m pip install --upgrade --user [name_of_your_package]

As seen here , you should be able to solve this by running the module from Python directly, ie

python -m pip install --upgrade pip

In Windows edit C:\ProgramData\Anaconda3\Scripts\pip-script.py and replace

# -*- coding: utf-8 -*-
import re
import sys
from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Replace the last line with sys.exit(main.main()).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM