作者:就就解决 | 来源:互联网 | 2023-10-12 13:58
概述 当今,很多教程在提到安装第三方库时,一般提供的帮助就是pip install xxx
。
如果当前计算机上只安装了一个Python解释器还好,当同时安装多个解释器时,特别是原生Python解释器与Anaconda发行版共存时,使用pip
命令安装第三方库就变成了很痛苦的事情。
混乱的根源在于Anaconda
安装时两个安装选项:将Anaconda
添加到环境变量path
和将Anaconda
解释器注册为对应版本的主解释器。
早期这两个选项默认都是勾选的,但是现在Anaconda
更倾向于不选择这两个选项(特别是装了多个Python解释器的情况),这样Anaconda
就不会和原生的Python解释器混在一起(即运行Python命令时搞不清楚运行的哪个解释器)。
pip
命令与Python解释器的关系 如果多个Python解释器并存,第一步需要搞清楚的是当前pip
命令到底运行在哪个Python解释器(环境)下 !
我们平时用的pip install xxx
命令,在pip
官方文档中一般用作python -m pip install xxx
。也就是说pip
作为一个模块运行,**那么pip
的运行环境就由python
命令决定。**而python
命令是受环境变量path
控制的,python
命令会按照环境变量path
中路径的顺序依次查找,执行找到的第一个python.exe
。
例如:在下面的几个命令中,python
命令运行的解释器即where
命令找到的第一个解释器,与环境变量path
相关。而pip
的版本与python命令启动的解释器一致。
C: \Users\administrator> python Python 3.7 .6 ( tags/ v3. 7.6 : 43364a7ae0 , Dec 19 2019 , 00 : 42 : 30 ) [ MSC v. 1916 64 bit( AMD64) ] on win32 Type "help" , "copyright" , "credits" or "license" for more information. >> >
C: \Users\administrator> where python. exe C: \Users\administrator\AppData\Local\Programs\Python\Python37\python. exe C: \Program Files\Python35\python. exe E: \Python27\python. exe d: \ProgramData\Anaconda3\python. exe C: \Users\administrator\AppData\Local\Programs\Python\Python38\python. exe
C: \Users\administrator> path PATH= C: \Users\administrator\AppData\Local\Programs\Python\Python37\Scripts\; C: \Users\administrator\App Data\Local\Programs\Python\Python37\; C: \Microsoft VS Code\bin ; C: \Python33\Lib\si te- packages\PyQt5; d: \ProgramData\Anaconda3\Library\mingw- w64\bin ; d: \ProgramData\ Anaconda3\Library\usr\bin ; d: \ProgramData\Anaconda3\Library\bin ; d: \ProgramData\An aconda3\Scripts; C: \Program Files\VanDyke Software\Clients\; C: \Program Files\Pyth on35\Scripts\; C: \Program Files\Python35\; C: \ProgramData\Oracle\Java\javapath; E: \ Python27\; E: \Python27\Scripts; d: \ProgramData\Anaconda3; d: \Program Files\MiKTeX\miktex\bin \x64\; C: \Users\administrator\ AppData\Local\Programs\Python\Python38\Scripts\; C: \Users\administrator\AppData\Local\Progra ms\Python\Python38\; C: \Program Files\JetBrains\PyCharm Community Edition 2020.3 . 3 \bin ; C: \Microsoft VS Code\bin ```python C: \Users\administrator> pip - V pip 19.2 .3 from c: \users\administrator\appdata\local\programs\python\python37\lib\site- pack ages\pip ( python 3.7 )
解决办法 如果系统真的存在多个pip程序共存的情况,在使用pip命令时,应当先确认所使用的python解释器(即运行环境)。
在运行pip -V
或pip --version
命令时,会提示pip
命令的位置,例如下面示例分别演示了不同pip
命令所在的环境。
C: \Users\administrator> pip - - version pip 19.2 .3 from c: \users\administrator\appdata\local\programs\python\python37\lib\site- packages\pip ( python 3.7 )
( base) C: \Users\administrator> pip - - version pip 21.0 .1 from d: \ProgramData\Anaconda3\lib\site- packages\pip ( python 3.7 )
然后根据所需环境安装第三方库。
最终建议 独立使用Anaconda
!
如果已经混用,删除环境变量中Anaconda
相关路径,第三方库安装混乱问题就解决了。
特别建议如果要使用Anaconda
安装库、启动应用,都在Anaconda Navigator
或者Anaconda Prompt
中启动。 如果使用原生Python环境,就直接在操作系统命令行中执行命令。