环境:

win10,安装有python2和python3,主要使用python3,所有环境变量配合的也是python3,之前一直用的好好的,pip可以在命令行和pycharm中正常使用.

pycharm 社区版,201802

缘由:

升级了pip后,pycharm--File--Setting--Project--Project Interpreter--任意安装一个包都会报错

于是在pycharm的控制台执行了pip,提示Did not provide a command ,感觉是pycharm无法识别这个pip命令.

于是在系统打开cmd窗口,输入pip,也是提示

怀疑是pip 是pip3覆盖了,找到了python的Scripts目录

在cmd尝试pip.exe 是可以被识别的

奇怪为什么exe结尾的命令一定要带后缀才能被识别,百度说可能是环境变量PATHEXT没配,但是我检查了自己的环境变量没有问题,而且我现在是只有这一个pip.exe 必须带后缀才能执行,其他的exe不需要带后缀.所以排除了这个后缀问题

灵机一动,不知道系统识别的pip命令是在什么位置,pip.exe 又是在哪里,查了下windows查找命令所在位置的命令是 where XX

注意必须在dos窗口下运行,在powershell下不支持where命令

原来pip命令匹配到3个可执行文件,按照顺序来匹配,每次输入的pip其实是C:\strawberry\perl\bin\pip

原来是最近我安装了蓝叠模拟器,这个strawberry自带的pip

检查环境变量PATH,修改strawberry和python的顺序,把python放到strawberry前面,保存环境变量后重试

必须重新dos窗口才会加载新的环境变量,输入where pip,检查匹配的顺序

再输入 pip命令看能否识别

必须重启pycharm才会加载新的环境变量,在terminal输入pip,也可以识别了

但是pycharm安装库还是失败

怀疑是我的pycharm太旧,跟pip不匹配(pycharm是2018年的,目前最新是2022版本的,pip却已经更新到最新V23了)

于是下载了最新的pycharm社区版,注意因为这个社区版是免安装版本,所以不能升级,只能安装在另外一个新的目录

新的pycharm总算成功了

总结思路:

在pycharm的terminal检查pip命令是否可用---在dos检查pip命令,pip3命令--检查python的Scripts目录是否有pip.exe, pip3.exe--在dos用where 命令检查系统解析的pip在哪里--发现是dos解析pip的顺序问题--修改环境变量Path中的pip命令的解析顺序,把python的pip移到最前面--dos中pip命令正常了,pycharm仍无法安装第三方包--检查是否pycharm版本太低,下载最新的pycharm---解决问题

pycharm用不了pip的更多相关文章

  1. pycharm中无法导入pip安装的包

    https://blog.csdn.net/mdxiaohu/article/details/82430060 2020.1.20 练习通过python操作数据库的时候需要导入一个包,因为看代码写的是 ...

  2. Pycharm问题:module 'pip' has no attribute 'main'

    更新pip之后(pip 10 版本之后),Pycharm安装package出现报错:module 'pip' has no attribute 'main' 解决办法如下: 找到Pycharm安装目录 ...

  3. 解决pycharm问题:module 'pip' has no attribute 'main'

    问题 更新pip之后,Pycharm安装package出现如下报错: 解决 找到安装目录下 helpers/packaging_tool.py文件,找到如下代码: 修改为如下,保存即可.

  4. pycharm安装提示 module 'pip' has no attribute 'main'

    问题描述: 环境: windows10 pycharm2016.2.3  //在最先版本的pycharm就没问题,可能还需要升级pip版本 python3.6 pip安装模块,提示 Attribute ...

  5. pycharm使用秘籍 和 pip命令

    python使用requirements.txt批量安装包 requirements.txt文件格式: requests==1.2.0  Flask==0.10.1 等等一系列包 cd 到requir ...

  6. pycharm中无法调用pip的安装包

    https://blog.csdn.net/sinat_23619409/article/details/79962518 较详细:https://blog.csdn.net/weixin_41287 ...

  7. Pycharm安装模块提示module 'pip' has no attribute 'main'的问题

    解决pycharm问题:module 'pip' has no attribute 'main' 转自: <解决pycharm问题:module 'pip' has no attribute ' ...

  8. spark2.2.1安装、pycharm连接spark配置

    一.单机版本Spark安装 Win10下安装Spark2.2.1 1. 工具准备 JDK 8u161 with NetBeans 8.2: http://www.oracle.com/technetw ...

  9. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环

    一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿三的安装视频:http://v.youku.com/v_sh ...

  10. [py]py3/pip/virtualenv/mysql环境安装

    Traceback (most recent call last):是什么意思? 追踪(最后调用) pip.ini添加 https://www.cnblogs.com/lsdb/p/9188204.h ...

随机推荐

  1. (工具) 性能测试基准软件 lmBench (待补充)

    1. lmBench 介绍 Lmbench是一套简易,可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具.一般来说,它衡量两个关键特征:反应时间和带宽.Lmbench旨在使系统开 ...

  2. linux学习相关资料整理

    linux常用指令记录 Python3.9.9安装 supervisor安装与监控nginx 使用supervisor监控mysql supervisor监控tomcat配置文件 nginx-1.22 ...

  3. K8S 部署电商项目

    Ingress 和 Ingress Controller 概述 在 k8s 中为什么会有 service 这个概念?Pod 漂移问题 Kubernetes 具有强大的副本控制能力,能保证在任意副本(P ...

  4. ubuntu1804搭建FTP服务器的方法

    搭建FTP服务器 FTP的工作原理: FTP:File Transfer Protocol ,文件传输协议.属于NAS存储的一种协议,基于CS结构. ftp采用的是双端口模式,分为命令端口和数据端口, ...

  5. MIsc writeup

    1. 杂项 图片里面有什么 ,附件为一张图片 通过Binwalk查看发现有压缩包,通过foremost分离一下. 打开输出文件,发现里面有两个图片. 00000000.png是原图,00000722. ...

  6. pyqt5制作俄罗斯方块小游戏-----源码解析

    一.前言 最近学习pyqt5中文教程时,最后一个例子制作了一个俄罗斯方块小游戏,由于解释的不是很清楚,所以源码有点看不懂,查找网上资料后,大概弄懂了源码的原理. 二.绘制主窗口 将主窗口居中,且设置了 ...

  7. 【WPF】自定义一个自删除的多功能ListBox

    原文地址 https://www.cnblogs.com/younShieh/p/17008534.html 如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~ 我需要一个ListBo ...

  8. [seaborn] seaborn学习笔记3-直方图Histogramplot

    文章目录 3 直方图Histogramplot 1. 基本直方图的绘制 Basic histogram 2. 数据分布与密度信息显示 Control rug and density on seabor ...

  9. B站地区限制破解方法

    B站地区限制破解方法 当我们观看bilibili番剧时,经常会看到"仅限港澳台地区"的字样.那么,有没有一种方法,不需要挂梯子,就可以观看这些被限制的番剧呢? 本教程只适用于bil ...

  10. Vue 中 Promise 的then方法异步使用及async/await 异步使用总结

    转载请注明出处: 1.Promise 的 then 方法使用 then 方法是 Promise 中 处理的是异步调用,异步调用是非阻塞式的,在调用的时候并不知道它什么时候结束,也就不会等到他返回一个有 ...