当前位置: 首页 > news >正文

python 使用 pip 安装第三方库 导入不成功

本文是什么意思呢? 就是你需要使用一些库安装老师或者网上说的 通过pip 安装下载了第三方库,但是使用 import  xxx  from xxx  import xx ,pycharm ide 导入的下面还有红色波浪线,导入不成功。

这是什么原因? 这是pycharm 在使用的这个python环境中没有找到这个库,这是什么原因呢? 你安装了两个不同的python 环境。 但是在你的windows环境变量中你配置了 其中一个python 环境,或者都配置了,但是windows 只能用一个谁配置在前就用谁。

为了测试,我将我的pycharm 运行环境切换成了python 2.7 

但是我的windows 环境变量中,python3.10 配置在前,所以在我用 cmd 通过pip install 安装某些第三方库时,肯定会下载到 ,python 3.10 的site-packages 里面。

我给大家看看看我猜想的对不对

 所以呢? 通过pip install xx  只会安装到 python 3当中去。

以机器学习库,cv2来做测试,现在两个python 版本都没有这个库

cv2

 CV2指的是 OpenCV2 (Open Source Computer Vision Library),是一个开源的库平台计算机视觉库

这是python3 环境  没有cv2库

这是python2 环境  没有cv2库 

 我使用cmd (命令行窗口) 来下载这个库 cv 2 

 pip install  opencv-python

我们先用python 2 试试看cv2 有没有下载成功

 是不是没有,我们在看看python3

 没有报错显示成功了

这是什么原因? 问题就出在你装了 两个python 不同版本,再深入一点问题在, windows 命令行或者你可以成为终端,更深入一点就是 环境变量path  python版本环境,谁在前谁在后的问题, 因为  windows系统只能使用一个,谁在前,奥这个是主人认为是最重要的,我将所在通过终端安装的第三方库,放在这个版本的 site-packages  文件夹中

怎么解决很简单

1. 在你的Windows 电脑中找到你正在使用的python环境保存的文件位置

假如我的pycharm 正在使用  python 2.7 ,所以这个告诉我们在安装python环境时,一定要起好名字方便找到。

使用 pip2 install  opencv-python (opencv-python  是我的测试库,你更换成你需要使用的库)

我为什么用 pip2 install opencv-python==4.2.0.32 

因为 open cv  最新版本不再支持,python2 大环境,但是通过 pip install  xxx 安装都是最新的。 所以我们需要指定它的版本,最后一个支持python2 的opencv 版本是4.2.0.32

这是某些库的特殊原因,不在本次讨论范畴。

 我们接下来看看,python2 环境可以导入成功吗?

 最快你也可以通过这个地方下载: Terminal (前提是你pycharm正好配置了 你当前正在使用或者正需要的环境)

 

 

 是不是ok了,不知道我说清楚了没,感谢未来各位开发工程师的支持。小马送大家一些古句

欲广福田,须凭心地。行时时之方便,作种种之阴功    

相关文章:

  • 【算法设计与分析】——动态规划算法
  • 【docker笔记】docker常用命令
  • 磁盘类型选择对阿里云RDS MySQL的性能影响
  • 硬核实战!mysql 错误操作整个表全部数据后如何恢复?附解决过程、思路(百万行SQL,通过binlog日志恢复)
  • 线段树/区间树(java实现版详解附leetcode例题)
  • MySQL——复合查询
  • 蓝桥杯宝藏排序算法(冒泡、选择、插入)
  • 幺模矩阵-线性规划的整数解特性
  • 使用vue-qr,报错in ./node_modules/vue-qr/dist/vue-qr.js
  • Openwrt AP 发射 WiFi 信号
  • 【Android 13】使用Android Studio调试系统应用之Settings移植(一):编译服务器的配置、AOSP源码的下载、编译、运行
  • SpringMVC之文件的下载
  • 【数据结构入门精讲 | 第十篇】考研408排序算法专项练习(二)
  • 体验一下 CodeGPT 插件
  • 如何入门 GPT 并快速跟上当前的大语言模型 LLM 进展?
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【347天】每日项目总结系列085(2018.01.18)
  • 4个实用的微服务测试策略
  • Android系统模拟器绘制实现概述
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Tornado学习笔记(1)
  • windows下mongoDB的环境配置
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 基于Android乐音识别(2)
  • 思考 CSS 架构
  • MPAndroidChart 教程:Y轴 YAxis
  • 阿里云ACE认证学习知识点梳理
  • # Apache SeaTunnel 究竟是什么?
  • # 数据结构
  • #单片机(TB6600驱动42步进电机)
  • ()、[]、{}、(())、[[]]命令替换
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (转) RFS+AutoItLibrary测试web对话框
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 的字符串暂存池
  • .NET命名规范和开发约定
  • .NET值类型变量“活”在哪?
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @Resource和@Autowired的区别
  • @SentinelResource详解
  • @拔赤:Web前端开发十日谈
  • [AIGC] MySQL存储引擎详解
  • [Android]竖直滑动选择器WheelView的实现
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [go] 迭代器模式
  • [html] 动态炫彩渐变背景
  • [Java并发编程实战] 共享对象之可见性