【python】代码学习过程问题总结

news2024/10/6 12:32:17

目录

1. 使用 conda 创建并进入虚拟环境

2. pycharm 选择 interpreter 的时候,在虚拟环境中找不到 python.exe

3.(py & python)ModuleNotFoundError: No module named 'XXX'  

4. AttributeError: module ‘tensorflow‘ has no attribute ‘python_io‘ 

5. ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly

6. conda 与 pip 的区别

7. (conda & pip) ModuleNotFoundError: No module named ‘XXXX’


1. 使用 conda 创建并进入虚拟环境

Anaconda及Pytorch的下载与安装

https://www.bilibili.com/video/BV1XU4y1k74L/?spm_id_from=333.999.0.0&vd_source=9dc4a107b744cb80864432896644a121

pycharm社区版下载与配置(pytorch环境的解释器设置)

https://www.bilibili.com/video/BV1MW4y1Y7N6/?spm_id_from=333.999.0.0&vd_source=9dc4a107b744cb80864432896644a121

(base) C:\Users\57879>d:    # 进入 D 盘

(base) D:\>cd anaconda3    # 进入 anaconda 文件夹   

(base) D:\anaconda3>cd envs    # 进入虚拟环境文件夹

(base) D:\anaconda3\envs>conda create --name pytorch python=3.6    # 创建名为 “pytorch” 的虚拟环境,并安装版本为 3.6 的 python (等号两端不要有空格)

(base) D:\anaconda3\envs>conda activate pytorch    # 激活虚拟环境,这里的 “pytorch” 可以替换为你自己建的虚拟环境的名称

(pytorch) D:\anaconda3\envs>python    # 进入 python 模式
>>> import six    # 未报错,说明此 package 存在

>>> import adadahifhfihi    # 报错,说明此 package 不存在
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'adadahifhfihi'

>>> exit()    # 退出 python 模式

2. pycharm 选择 interpreter 的时候,在虚拟环境中找不到 python.exe

3.(py & python)ModuleNotFoundError: No module named 'XXX'  

运行 *.py 文件时,错误提示 ModuleNotFoundError: No module named 'six'

在出错点是  import six

但是我明明有安装 six 这个 package 啊。这个问题折磨了我好久,最后发现

(pytorch) D:\anaconda3\envs>py
Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

(pytorch) D:\anaconda3\envs>python
Python 3.6.13 |Anaconda, Inc.| (default, Mar 16 2021, 11:37:27) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

我一直用的是 py *.py 运行的 code,所以一直报错。当我使用 python *.py 运行代码时,上面的错误提示没有了。

我建立的虚拟环境 pytorch 是 3.6 的 python,所有的包也是安装在 pytorch 这个虚拟环境中。这个 3.9 的 python 应该是在安装 pytorch 这个 package 的时候自动安装的。 

py 和 python 两者的区别是:(https://blog.csdn.net/weixin_44981444/article/details/110730662)

  • python 是所有版本的 python 都有的,输入 Python,其实运行的是 python 安装目录的下的python.exe 文件。而 py 是 python3.3 后才引入的 python 的启动器。在 python3.3 前,输入py 是不能启动 python 的。
  • 两者所在的路径不一样,python 在 python 目录下面,比如 C:\Python36,而 py 代表的 py.exe 文件则在 windows 目录下面 , 也就是: C:\windows 。
  • 两者的功能有所不同,py 的功能是强于 python 的,在 py 后可以指定所要启动的 python 版本,比如 py -2 会启动 python2.X 版本,但 python -2 则会报错。
  • 如果系统有多个 python 版本的话,py会启动新版本的 python,但 python 则会根据系统的环境变量,选择最上面的一个版本运行。
  • py 运行带有 #! 开头的脚本时,会识别其指定的版本信息。

4. AttributeError: module ‘tensorflow‘ has no attribute ‘python_io‘ 

https://blog.csdn.net/sy20173081277/article/details/122989297

出错现象:tf.python_io.XXX

问题分析:这个问题是 TensorFlow 版本不同引起的,tensorflow2 中并没有 python_io 这个模块了,所以就需要在 tensorflow2 环境下调用 tensorflow1 版本的模块。

解决办法:在 tensorflow2 环境下使用 tf.compat.v1.python_io.XXX,就可以实现 tensorflow1 中的函数或者功能模块调用了

开心,可算能跑通数据集处理代码了 

5. ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly

安装 OpenCV 的时候报错,查资料可能是和 python(我安的 3.6 版本的)版本冲突。想着升级到 3.8 版本试试。直接卸载可能有残留,所以覆盖安装就好。

(pytorch) D:\anaconda3\envs>conda install python==3.8

报错了,与 pytorch 的版本冲突了。无奈,只能删除环境,重新建立环境,然后重新安装。

(pytorch) D:\anaconda3\envs>conda deactivate    # 退出激活的环境

(base) D:\anaconda3\envs>conda remove -n pytorch --all    
# 彻底删除已建立的环境 “pytorch”

(base) D:\anaconda3\envs>conda env list    
# 查看环境是否删除,记得去 envs 这个文件夹里把 pytorch 这个文件夹删除,不然无法创建同名环境

(base) D:\anaconda3\envs>conda create -n pytorch python=3.8    
# 建立新的名为 pytorch 的环境,并安装 3.8 版本的 python

(base) D:\anaconda3\envs>conda activate pytorch    # 激活环境

(pytorch) D:\anaconda3\envs>python    # 查看 python 版本

>>exit()    # 退出 python

(pytorch) D:\anaconda3\envs>conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia    # 去官网选择适合自己的 pytorch 版本



# 如果想要安装 GPU 版本的 TensorFlow,可以用如下命令。但是 tensorflow 和 pytorch 最好安在两个环境里
conda install tensorflow-gpu

6. conda 与 pip 的区别

https://blog.csdn.net/taoqick/article/details/56284364

  • Conda和pip通常被认为几乎完全相同。虽然这两个工具的某些功能重叠,但它们设计用于不同的目的。 Pip是Python Packaging Authority推荐的用于从Python Package Index安装包的工具。 Pip安装打包为wheels或源代码分发的Python软件。后者可能要求系统安装兼容的编译器和库。
  • Conda是跨平台的包和环境管理器,可以安装和管理来自Anaconda repository以 Anaconda Cloud的conda包。 Conda包是二进制文件,徐需要使用编译器来安装它们。另外,conda包不仅限于Python软件。它们还可能包含C或C ++库,R包或任何其他软件。
  • 这是conda和pip之间的关键区别。 Pip安装Python包,而conda安装包可能包含用任何语言编写的软件的包。在使用pip之前,必须通过系统包管理器或下载并运行安装程序来安装Python解释器。而Conda可以直接安装Python包以及Python解释器。
  • 另一个区别是conda能够创建可以包含不同版本的Python或其他软件包的隔离环境。在使用数据科学工具时,这非常有用,因为不同的工具可能包含冲突的要求,这些要求可能会阻止它们全部安装到单个环境中。 Pip没有内置的环境支持,而是依赖于virtualenv或venv 等其他工具来创建隔离环境。 pipenv,poetry和hatch wrap pip和virtualenv等工具提供了统一的方法来处理这些环境。
  • Pip 和 conda 在如何实现环境中的依赖关系方面也有所不同。安装包时,pip会在递归的串行循环中安装依赖项。没有努力确保同时满足所有包的依赖性。如果较早安装的软件包与稍后安装的软件包具有不兼容的依赖性版本,则可能导致破坏的环境。conda使用可确保满足环境中安装的所有包的所有要求。此检查可能需要额外的时间,但有助于防止创建破坏的环境,前期关于依赖关系包的元数据是正确的。
  • 考虑到 conda 和 pip 之间的相似性,有些人试图将这些工具结合起来创建数据科学环境也就不足为奇了。将 pip 与 conda 结合的主要原因是有些包只能通过 pip 安装。 Anaconda创酷提供超过 1,500 个软件包,包括最流行的数据科学,机器学习和AI框架。这些,以及包括 conda-forge 和 bioconda 在内的数据通过 Anaconda 云提供的数千个附加软件包,可以使用conda 进行安装。尽管有大量的软件包,但与PyPI上提供的150,000多个软件包相比,它仍然很小。有时候需要的包没有 conda 包,但在 PyPI 上有,可以用pip安装。

7. (conda & pip) ModuleNotFoundError: No module named ‘XXXX’

问题描述:在虚拟环境 pytorch 下,当使用 conda install XXXX 安装某个包后,使用 impot XXXX 会出现如上提示。

使用 conda list 命令可以发现 XXXX 这个包已存在,但是使用 pip list 发现没有这个包。当使用 pip install XXXX 后,pip list 存在这个包,import XXXX 也不再报错。

问题解决:https://blog.csdn.net/nyist_yangguang/article/details/111304014

  • Conda 除了虚拟环境下的还有关联文件下的
  • Pip只有当前虚拟环境下的

当关联环境下有这个包,再用conda在其他虚拟环境下下载该包,就会直接关联,不用下载

比如说 base 环境下有包,在另一个环境下下载同样的包,就会关联上,不用真的下载,直接复制过去或者关联即可

验证得到:pip 下的 list 是 conda 下 list 的子集 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1005213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论

文章目录 一、爬取目标二、展示爬取结果三、爬虫代码四、同步视频五、附完整源码 您好&#xff0c;我是 马哥python说&#xff0c;一枚10年程序猿。 一、爬取目标 之前&#xff0c;我分享过一些B站的爬虫&#xff1a; 【Python爬虫案例】用Python爬取李子柒B站视频数据 【Pyt…

使用TortoiseGit拉取GitLab代码仓库中某一项目的某一分支的代码

使用TortoiseGit拉取GitLab代码仓库中某一项目的某一分支的代码 写在前面&#xff0c;需要补充一点&#xff1a;方式一&#xff1a;使用TortoiseGit图像界面工具&#xff0c;进行直接操作方式二&#xff1a;使用git命令进行操作 写在前面&#xff0c;需要补充一点&#xff1a; …

flask项目请求与响应

项目名&#xff1a; static (静态) js css templates (模板) app.py (运行) web项目 mvc&#xff1a; model 模型 view 视图 controller 控制器 mtv model (模型) templates (模板) --> html view 视图 (python代码) 起控制作用 b/s browser server 浏览器服务器 c…

pcl--第一节 Filters

官方例子在这里&#xff0c;本人使用的pcl1.12.1版本&#xff0c;win11&#xff0c;直接从github下载编译好的版本&#xff0c;使用vs打开cmake&#xff0c;之所以使用cmake&#xff0c;原因是环境配置方便&#xff0c;vs本身配置环境比较麻烦&#xff0c;所以为了方便使用cmak…

FPGA----VCU128的SCUI(上位机软件)无法使用问题

1、第一次使用VCU128&#xff0c;发现很坑&#xff0c;记录一下使用方法。 ①首先需要在购买的包装盒子中找到密匙去官网下载个license ②在Vivado 2019.1版本中将2019.2的板卡数据导入&#xff0c;很奇怪把哈哈哈哈。下面是下载链接 https://github.com/Xilinx/XilinxBoard…

C++中extern的使用

目录 什么是extern&#xff1f;如何使用extern&#xff1f;声明一个全局变量或函数在当前文件中引用其他文件中定义的全局变量或函数 应用场景拓展结论 在C中&#xff0c;extern是一个非常重要的关键字&#xff0c;它用于声明一个变量或函数是在其他文件中定义的。在本文中&…

电子企业MES管理系统有哪些特征

随着科技的飞速发展和全球化的推进&#xff0c;电子行业已成为当今社会至关重要的产业之一。在这个高度竞争的市场环境中&#xff0c;实施一套有效的生产执行管理系统是电子企业提高效率、降低成本、提升品质的重要手段。本文将详细介绍电子企业MES管理系统的特征。 一、定义和…

使用mybatis批量插入数据

最近在做项目的时候&#xff0c;有些明细数据&#xff0c;一条一条的插入太费资源和时间&#xff0c;所以得需要批量插入&#xff0c;今晚闲来无事写个小demo。 新建工程 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis…

歌曲推荐《最佳损友》

最佳损友 陈奕迅演唱歌曲 《最佳损友》是陈奕迅演唱的一首粤语歌曲&#xff0c;由黄伟文作词&#xff0c;Eric Kwok&#xff08;郭伟亮&#xff09;作曲。收录于专辑《Life Continues》中&#xff0c;发行于2006年6月15日。 2006年12月26日&#xff0c;该曲获得2006香港新城…

可视化工具之pyecharts

一、pyecharts基础 1、概述 Pyecharts是一款将python与echarts结合的强大的数据可视化工具。使用 pyecharts 可以生成独立的网页&#xff0c;也可以在 flask , Django 中集成使用。 echarts 是百度开源的一个数据可视化 JS 库&#xff0c;主要用于数据可视化。pyecharts 是一…

PyCharm控制台中英文显示切换

一开始全英环境下不适应安装了汉化包插件&#xff0c;使用后发现还是英文显示好使&#xff0c;现在切换回来。 要在 PyCharm 中将界面语言设置为英文&#xff0c;可以按照以下步骤操作&#xff1a; 打开 PyCharm&#xff0c;在主菜单中依次选择「File」、「Settings」。在「S…

App Inventor 2 列表选择框(ListPicker)用法示例

设置固定的列表项&#xff0c;设置“元素字串”属性&#xff0c;多个列表项使用英文逗号分隔&#xff1a; 点击效果如下&#xff1a; 选择完成后的事件处理&#xff0c;最终选中的数据通过“选中项”属性获取&#xff1a; 通过代码块动态设置列表选择框的列表项&#x…

【服务器 | 测试】如何在centos 7上面安装jmeter

安装之前需要几个环境&#xff0c;以下是列出的几个环境 CentOS 7.7 64位JDK 1.8JMeter 5.2 1. 下载jmeter安装包 JMeter是开源的工具&#xff0c;安装 JMeter 要先安装好 JDK 的环境&#xff0c;安装JDK在前面的文章已经讲到 JMeter最新版下载地址&#xff1a;Apache JMeter…

c#动态保留小数位数的数值格式化方法实例----从小数点后非零数字保留两位进行四舍五入

c#动态保留小数位数的数值格式化方法实例----从小数点后非零数字保留两位进行四舍五入 功能介绍代码案例输出结果封装扩展方法控制台调用 其他方法地址 功能介绍 1. 输入的数字是整数&#xff0c;则直接返回整数部分的字符串表示。 2. 如果输入的数字是小数&#xff0c;则执行…

百家宴焕新上市,持续深耕100-300元价位段

执笔 | 尼 奥 编辑 | 古利特 4月8日&#xff0c;长江酒道曾在《百家宴谋划“晋级”之路&#xff0c;多措并举切分宴席市场“蛋糕”》一文中提到&#xff1a;“百家宴主力新品即将登场&#xff0c;市场政策灵活焕新。” 如今&#xff0c;百家宴新品及市场新政&#xff0c;正…

计算机二级公共基础知识-2023

计算机基础知识&#xff1a; 计算机的发展&#xff1a; 第一台电子计算机eniac 埃尼阿克 1946 第一台存储程序计算机 edvac 艾迪瓦克 根据电子元器件的发展分类 1.电子管 2.晶体管 3.集成电路 4.超大规模继承电路 按照电脑的用途可以分为 专用计算机 专门用于处理…

vcomp100.dll丢失怎样修复?5个靠谱的修复方法分享

VCOMP100.DLL 是由微软打造的动态链接库&#xff0c;它对于一些图形密集型应用&#xff0c;例如Photoshop&#xff0c;以及多款知名游戏如巫师3的运行至关重要。 如果操作系统在启动应用程序时无法找到此vcomp100.dll&#xff0c;则会出现vcomp100.dll丢失或未找到错误。 如果D…

Google 基于 GNN 开发气味识别 AI,工作量相当于人类评价员连续工作 70 年

内容一览&#xff1a;气味总是萦绕我们身边。然而&#xff0c;我们却很难对气味准确描述。最近&#xff0c;Google Research 的子公司 Osom 基于图神经网络&#xff0c;开发了气味分析 AI。它可以根据化学分子的结构&#xff0c;对分子的气味进行预测。基于这一 AI&#xff0c;…

2023年法国CAC40指数研究报告

第一章 指数概况 1.1 指数基本情况 CAC 40指数&#xff0c;全名 Cotation Assiste en Continu (意为“连续辅助报价”)&#xff0c;是法国巴黎股票交易所的标志性股票指数&#xff0c;与德国DAX指数及英国富时100指数并列为欧洲三大指数。自1987年12月31日成立以来&#xff0…

【Linux学习笔记】基础命令1

1. 什么是操作系统2. Linux基本指令2.1. ls指令2.2. pwd命令2.3. cd命令2.4. touch命令2.5. mkdir命令 1. 什么是操作系统 这里简单的讲述一下操作系统的概念&#xff0c;来看下图示&#xff1a; **操作系统是计算机系统中的一种软件&#xff0c;它负责管理计算机硬件资源和提…