python 模块导入问题汇总


Posted in Python onFebruary 01, 2021

问题描述

python 模块导入问题汇总

此时start.py是启动程序,引入了core包中的user_control,transfer,withdraw三个模块文件

python 模块导入问题汇总

但执行start.py的时候,出现了以下错误:

python 模块导入问题汇总

上图中显示的问题是:在transfer.py导入user_control模块的时候,无法找到该模块。

问题查找

当时我就纳闷了,user_controltransfer在同一个包中,按理来说不用做任何处理就能导入.而且在导入user_control的时候也没有报错。

然后我单独执行了transfer.py文件,没有报错,也就是说能够找到user_control,但是为何在执行start.py的时候又找不到呢?

我对比了user_controltransfer文件,发现一个不同之处,就是user_control没有导入其他同包的文件,而transfer有。我想这是不是问题所在。

我将transfer中的import user_control注释掉后,再次运行start.py后就不会再报错了。

找到问题了,但是还是不明白这是为啥?

我猜想是不是因为运行start.py的时候,sys.path中没有core包的路径,导致transfer模块找不到user_control

所以我在start.py中,导入core包前,将core包的路径加入到sys.path。

我再次运行start.py,果然,程序没有再报错了。

原来是执行start.py时,transfer按照此时的sys.path进行查找user_control,而此时的sys.path中又没有core包的路径,所以导致错误。

总结

当执行py文件的时候,此时的py解释器会根据此时的sys.path查找模块,模块中也会使用该sys.path进行查找自己引入的模块,所以要确保执行的py文件引入的模块,和这些模块中引入的模块的路径在sys.path中。

到此这篇关于python 模块导入问题汇总的文章就介绍到这了,更多相关python 模块导入问题分析内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单介绍Python中的decode()方法的使用
May 18 Python
python获取目录下所有文件的方法
Jun 01 Python
Python实现的爬虫功能代码
Jun 24 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
python关闭占用端口方式
Dec 17 Python
python_mask_array的用法
Feb 18 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
Python pip安装模块提示错误解决方案
May 22 Python
python中if及if-else如何使用
Jun 02 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 Python
用python制作个视频下载器
Feb 01 #Python
python基于pexpect库自动获取日志信息
Feb 01 #Python
Python入门基础之数字字符串与列表
Feb 01 #Python
Pyecharts 中Geo函数常用参数的用法说明
Feb 01 #Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 #Python
python实现代码审查自动回复消息
Feb 01 #Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 #Python
You might like
第十四节--命名空间
2006/11/16 PHP
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
php实用代码片段整理
2016/11/12 PHP
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
js判断节假日实例代码
2017/12/27 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
Python中Random和Math模块学习笔记
2015/05/18 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
实习护理工作自我评价
2013/09/25 职场文书
电信专业应届生自荐信
2013/09/28 职场文书
2016继续教育研修日志
2015/11/13 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS