pip3“ TypeError:'模块'对象不可调用”更新后

Isr*_*ros 16 python ubuntu pip

我是Python新手,我想在控制台中安装Jupyter Notebook,然后输入以下内容:

pip3 install --upgrade pip 
Run Code Online (Sandbox Code Playgroud)

之后,我在使用pip3安装其他库时出错,控制台输出:

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

我不知道该怎么办。

我用完sudo autoremove python3-pip之后sudo apt install python3-pip

Hyr*_*ial 19

从Bram 的链接python3 -m pip uninstall pip开始,我才运行,然后它又开始起作用。

  • @SaifUrRahman:从提供的链接来看,这似乎是用户特定的 pip 安装(通过 OPs 命令安装/升级)与操作系统提供的全局 pip 安装之间的冲突。 (6认同)
  • 有人可以解释一下吗? (2认同)

i_a*_*esh 6

适用于我的情况的解决方案只是在 ubuntu 环境中编辑 pip3.8 文件。

方法一:

#!/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())
Run Code Online (Sandbox Code Playgroud)

方法二:

必须导入 main 函数或者我们可以简单地替换 line

sys.exit(main())
Run Code Online (Sandbox Code Playgroud)

作为

sys.exit(main.main())
Run Code Online (Sandbox Code Playgroud)


Pur*_*tam 6

用这个

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