在PyCharm中遇到pip失效时的解决方案以及其他发现【pip安装失败不了这样处理】
在这篇文章里,我简单地叙述了我在使用pycharm创建一个flask项目时遇到的问题,以及我解决这个问题的过程。其中比较值得注意的点有:①pycharm创建新项目时的解释器配置②python虚拟环境的创建等。
注意:很多人学python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个python全栈免费答疑.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新python教程项目可拿,,一起相互监督共同进步!
一、一些名词解释,希望能够帮助大家理解我所想表达的东西:
①pycharm:jetbrains公司出品的一款python集成开发环境,是用于python web开发最好用的开发工具(似乎不用加“之一”)。一个好消息是,使用教育邮箱(类似xxx@cumt.edu.cn之类的由高校分配的邮箱)可以在jetbrains官网上申请到专业版的授权。
②pip:这是目前最好用的python第三方库安装工具,只需要一行代码便能为python安装一个库。
③虚拟环境:这是为了防止破坏或搞乱全局python解释器而创建的一个包含python解释器的python开发和调试环境,在这个环境中进行新库的安装不会影响到全局解释器中的python库。
④flask:一个很受欢迎的python web开发框架。
二、问题描述
在pycharm中创建flask项目时,在建立好虚拟环境,开始自动用pip工具安装flask的时候,软件提示:install flask failed。如图所示:
我的pycharm 版本为2019.2.3专业版(这就是用教育邮箱白嫖的,感谢jetbrains)。
并且,我在我常用的python的全局解释器中从没遇到过pip失效的问题!
三、解决
㈠【失败一(可以直接跳过)】按照错误提示中的"proposed solution"来试了试
①打开pycharm中的终端,用 cd 命令进入到 项目文件夹\venv\scripts 中,打开activate.bat 文件。手动激活pycharm为这个项目配置的虚拟环境。
②试试 pip install flask ,结果如下图所示,其实和之前的错误提示一摸一样。
③再试试用pip安装一下其他的东西,结果和上一步一样
④再试试用pycharm创建一个django项目,结果在自动使用 pip install django 时,出现了第二步同样的问题。
⑤可以初步得出结论:在这个虚拟环境中,pip失效了!至于为什么失效,错误提示中写的是:pip配置了需要tls/ssl的位置,但是python中的ssl模块不可用。说实话,我不太明白。
㈡【成功解决】在创建新项目时选择一下解释器是基于谁创建的
由于目前实在是不懂ssl这些,又感觉网上一些博客里边谈的东西太玄乎,我就想着直接干脆一点,把pycharm创建的虚拟环境给换掉试试。
当我再次尝试创建一个新的flask项目时,我多留意了一下创建时可选的一些配置,my god,我感到有些崩溃,原来~~~pycharm创建的这个虚拟环境默认是根据我暂时没怎么用的anaconda中的来的。
当我把 based interpreter 改为我的常用python解释器(从python官网安装)的时候,项目便创建成功了,啥问题也没发生!
常常,人们在迷迷糊糊的时候感到肚子有点不舒服,一心忙着寻医问药,而不知道原来是自己忘记了而肚子饿了。
四、总结
①我成功的解决了我当下的问题,对于anaconda中的python解释器的毛病我是真的一窍不通,不过,好在目前我也没必要去了解得那么细。注意:很多人学python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个python全栈免费答疑.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新python教程项目可拿,,一起相互监督共同进步!
②当用python用得多了的时候,系统里很容易存在多个python解释器,这时候自己很容易被搞糊涂。我的建议是:在系统的环境变量中只配置自己最常用的那一个解释器所在的目录,并将其作为一个全局解释器,在其他地方需要单独的python解释器的时候,使用虚拟环境(可以用vitutual或pypenv等工具手动创建,也可以用pycharn这类集成开发环境在创建项目时自动创建,不过不管是在哪里创建,都一定得注意要基于一个可靠的python解释器创建!)。
③在pycharm的新项目创建时,是可以对本项目即将使用的解释器进行配置的,可以选择:⑴新建虚拟环境的python解释器的存放位置 ⑵基于哪个解释器来新建虚拟环境的python解释器 ⑶使用已经存在的虚拟环境的解释器 ......
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
下一篇: JVM系列八——栈