Python import自己的模块报错问题及解决
作者:cacho_37967865 发布时间:2023-11-09 15:57:08
在实际使用python时,我们会将一些公共的东西写到一些基础模块中,供其他模块去调用,这时会去import自定义的一些基础模块,然后来导入。
自己写好了脚本,然后导入,导入的情况分为以下情况:
1. 运行的模块与需要调用自定义基础模块在同一文件夹下
2. 自定义模块与所需要调用自定义模块的文件不在同一文件夹下
一、同一文件夹下
这时的调用就较为简单了,直接导入即可
from deal_excel import copy_sheetWrite, row_commonWrite
from deal_time import minus_date
但是这个时候在PyCharm中显示的是报错
但是运行程序是不会报错的
为了让在PyCharm中不报错,可以将包/文件夹设为 sources Root
现在就不报错了
在cmd命令中执行也是成功的
如果在模块前面加上包名(下面有个__init__.py)或者文件夹名
from msydwork.deal_excel import copy_sheetWrite, row_commonWrite
from msydwork.deal_time import minus_date
PyCharm中显示不报错,运行程序成功
但是在cmd命令中运行却是失败的
所以对于处于同一文件夹下的情况:直接导入模块;为了PyCharm中不报错,将包/文件夹设为sources Root
二、处于不同文件夹下面
在PyCharm中是不会报错而且执行成功,是由于将deal_excel、deal_time所在包设为sources Root:
这时在cmd命令中是执行失败的
在PyCharm中是不会报错而且执行成功另外一种方法:导包时全路径(可以不设sources Root)
这时在cmd命令中也是报错的
为了让代码在cmd命令中执行成功,需要将自定义基础模块的文件夹/包添加到Python的库路径中。
三、找到本地库的路径,然后将文件拷进去即可
拷贝到\Lib\site-packages中
PyCharm中是不会报错而且执行成功
cmd命令中执行成功
四、手动给python添加搜索路径
在python安装目录的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库绝对路径
这个时候PyCharm中是会报错的,但是执行是成功的
cmd命令是执行成功的。
还有一种方法导入完整路径:
将根目录设为搜索路径
这时候不管在PyCharm还是cmd执行都是成功的
所以对于处于不同一文件夹下的情况:先手动给python添加搜索路径(根目录),然后直接导入模块全路径;
在这里说一句Python的包搜索路径
Python会在以下路径中搜索它想要寻找的模块:
1. 程序所在的文件夹
2. 标准库的安装路径
3. 操作系统环境变量PYTHONPATH所包含的路径
来源:https://blog.csdn.net/sinat_37967865/article/details/103064424
猜你喜欢
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- Python 3.x 起始版本是Python 3.0,目前的最新版本是 3.3.3Python之父Guido van Rossum谈到了Py
- 多版本并发控制Multiversion Concurrency Control大部分的MySQL的存储 引擎,比如InnoDB,Falcon
- 相信大家对街边林林总总的房产中介并不陌生,那么我们先看看下面这张图片。图1从右侧这家店的橱窗里,我们能迅速分清哪些是租房信息哪些是售房信息。
- 前言在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的
- 1. 需求vs现状1.1 需求要求做一个ERP后台辅助管理的程序,有以下几项基本要求:1. 基本的增删改查功能2. 基于对象的权限控制(如:
- 查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效
- 没事在这里发一下关于数据库大批量插入数据的效率对比,用ACCESS和MSSQL,数值是在本机测试,根据不同的环境和配置,数值可能会有较大差别
- 昨天晚上在家里把WM设计好的好台界面做成Html,在家里只用IE8和FF做了测试,感觉还行,除了感觉IE8还不成熟,渲染比较慢且不稳定外,标
- 错误信息PS D:\parttime\python\django\guanxiangzhiji> python manage.py m
- 前言闲暇时间抽个空写了个三国杀武将手册的小程序,中间有个需求设计的是合成武将皮肤图、竖排的武将姓名、以及小程序码,然后提供保存图片到相册,最
- 此处以修改图片文件名为例,将图片复制到新的目录中再修改名称~原始文件名如下:修改后的效果如下:代码:实现将one文件夹中的每一个图片复制到t
- 目录问题思路代码实现测试效果问题一张excel表格,大概1万行,需要录入系统系统每次最多只能录入500行表格数据,一旦超过500行,就会录入
- 1、背景a、搜狗也发布了自己的人工智能 api,包括身份证ocr、名片ocr、文本翻译等API,初试感觉准确率一般般。b、基于python3
- 一、python读取excel表格数据1、读取excel表格数据常用操作import xlrd# 打开excel表格data_excel =
- 为新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有
- 在实际的工作和学习中,许多人的SQL Server 2005数据库日志文件可能会发生损坏,例如硬件故障、计算机非正常重启或关机等等。在SQL
- <script language="javascript"> functio
- 在计算机和信息技术领域里 I/O 这个术语表示输入 / 输出 ( 英语:Input / Output ) ,通常指数据在存储器(内部和外部)
- 最简单的办法就是直接在php程序代码中加入下面代码:error_reporting(E_ALL^E_NOTICE^E_WARNING);可以