Python 3.x pip vs python-m pip为什么pip命令抛出模块对象是不可调用的错误
我见过类似的帖子,比如 这并不能真正澄清这个问题。 我是Python新手,刚刚学习了一个基本的Python3教程,其中他们提到pip是依赖关系管理器,并且在这里提到它应该用作Python 3.x pip vs python-m pip为什么pip命令抛出模块对象是不可调用的错误,python-3.x,pip,Python 3.x,Pip,我见过类似的帖子,比如 这并不能真正澄清这个问题。 我是Python新手,刚刚学习了一个基本的Python3教程,其中他们提到pip是依赖关系管理器,并且在这里提到它应该用作pip安装依赖关系 我使用的是Python 3.8.0,全新安装在Windows上(适用于所有用户,因此它安装在C:\Program Files(x86)\Python38-32下) 我不能运行pip命令。我得到一个模块错误,我不知道是怎么回事 $ pip --version Traceback (most recent
pip安装依赖关系
我使用的是Python 3.8.0,全新安装在Windows上(适用于所有用户,因此它安装在C:\Program Files(x86)\Python38-32
下)
我不能运行pip命令。我得到一个模块错误,我不知道是怎么回事
$ pip --version
Traceback (most recent call last):
File "c:\program files (x86)\python38-32\lib\runpy.py", line 192, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\program files (x86)\python38-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files (x86)\Python38-32\Scripts\pip.exe\__main__.py", line 9, in <module>
TypeError: 'module' object is not callable
并用它安装模块
问题是为什么我不能使用大多数教程提到的命令,甚至官方pip存储库也使用了以下示例:
我想知道为什么我会犯这样的错误。因为这似乎并不常见
谢谢
更新1(2019年11月2日):多亏了这个答案,我发现用户和系统的路径有点乱。
我决定清除它并重新安装Python 3.8.0 64位版本,现在看起来一切正常:
$ python --version
Python 3.8.0
还有皮普
$ pip --version
pip 19.2.3 from c:\users\iberodev\appdata\local\programs\python\python38\lib\site-packages\pip (python 3.8)
和路径
$ echo $PATH | tr \: \\n | grep "Python"
/c/Users/iberodev/AppData/Local/Programs/Python/Python38/Scripts
/c/Users/iberodev/AppData/Local/Programs/Python/Python38
检查路径
环境变量。当前用户有一个路径
(无提升权限,用户环境变量),系统有一个路径
(提升权限,系统环境变量)。现在,要调用pip
,而不将其用作python方法(python-mpip
)
- 您的
路径
必须包含一个指向Python安装中脚本
文件夹的条目(当然还有一个指向包含Python.exe
的文件夹的条目)。这适用于您想要使用的任何安装(用户或系统)
- 如果要从系统Python安装中调用
pip
,以向该安装中添加软件包,则需要从具有提升权限的命令提示符中调用它(类似于在Linux上使用sudo
)李>
我想第二点是你犯错误的原因
不完全确定是谁创建了\AppData\Roaming\Python\Python38\site软件包
,但这不是Python安装的地方。Python用户安装将位于\AppData\Local\Programs\Python
中。调用AppData\Roaming\…
文件夹时,如果没有提升的安装软件包的权限,pip
(系统外安装)可能会使用该文件夹
原则上,我建议用户只在Windows10上安装Python。根据我的经验,对于大多数应用程序,您不需要安装系统。我宁愿使用64位版本。但这取决于您打算做什么。您是否检查过是否安装了多个python版本python-mpip
似乎在目录C:\Users\iberodev\AppData\Roaming\python\Python38\site packages\
中查找,而调用pip
则在“C:\Program Files(x86)\Python38-32\”
中查找。是的,有类似的情况。不知道为什么。在只重新安装了一个版本后,我遇到了同样的问题。我怀疑当时的路径有点混乱,为所有用户安装Python可能是问题的一部分。助教。(在更新1上添加了修复)可能值得你检查一下,我的路径太乱了,我决定清除所有路径并重新安装Python3.8.0 64位。很高兴它有帮助!虽然我不能告诉你错误的确切来源;-)不管怎么说,既然你已经在做了,也来看看吧。这是管理依赖关系的一个好方法,例如,如果你从事不同的项目。
$ echo $PATH | tr \: \\n | grep "Python"
/c/Users/iberodev/AppData/Local/Programs/Python/Python38/Scripts
/c/Users/iberodev/AppData/Local/Programs/Python/Python38