Python import自己的模块报错问题及解决

 更新时间:2022年02月11日 09:24:23   作者:cacho_37967865  
这篇文章主要介绍了Python import自己的模块报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

在实际使用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所包含的路径

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何在 Matplotlib 中更改绘图背景的实现

    如何在 Matplotlib 中更改绘图背景的实现

    这篇文章主要介绍了如何在 Matplotlib 中更改绘图背景的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python3.6+selenium2.53.6自动化测试_读取excel文件的方法

    Python3.6+selenium2.53.6自动化测试_读取excel文件的方法

    这篇文章主要介绍了Python3.6+selenium2.53.6自动化测试_读取excel文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 使用Pyhton 分析酒店针孔摄像头

    使用Pyhton 分析酒店针孔摄像头

    这篇文章主要介绍了使用Pyhton 分析酒店针孔摄像头,本文通过截图的形式给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python实现电脑壁纸的采集与轮换效果

    Python实现电脑壁纸的采集与轮换效果

    这篇文章主要为大家介绍了如何利用Python实现电脑壁纸的采集以及轮换效果,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-04-04
  • 使用Python的Supervisor进行进程监控以及自动启动

    使用Python的Supervisor进行进程监控以及自动启动

    这篇文章主要介绍了使用Python的Supervisor进行进程监控以及自动启动,使用python supervisor实现,需要的朋友可以参考下
    2014-05-05
  • 详解Swift中属性的声明与作用

    详解Swift中属性的声明与作用

    Swift中的属性可以被分为存储属性和计算属性,本文将为大家详解Swift中属性的声明与作用,需要的朋友可以参考下
    2016-06-06
  • Keras 使用 Lambda层详解

    Keras 使用 Lambda层详解

    这篇文章主要介绍了Keras 使用 Lambda层详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python pyaudio音频录制的实现

    python pyaudio音频录制的实现

    这篇文章主要介绍了python pyaudio音频录制的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python中HTTP请求的全面指南

    Python中HTTP请求的全面指南

    在现代网络应用中,HTTP(HyperText Transfer Protocol)协议是客户端与服务器之间数据传输的核心,本文都将从基础到高级,逐步引导你成为HTTP请求处理的高手,快跟随小编一起学习起来吧
    2024-10-10
  • 深入了解Python并发编程

    深入了解Python并发编程

    让计算机程序并发的运行是一个经常被讨论的话题,这篇文章将具体介绍一下Python下的各种并发方式。感兴趣的可以跟随小编一起学习一下
    2022-01-01

最新评论