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所包含的路径

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

相关文章

  • Python OS系统解决路径中空格原因导致文件打不开的问题

    Python OS系统解决路径中空格原因导致文件打不开的问题

    这篇文章主要介绍了Python OS系统解决路径中空格原因导致文件打不开的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python正则表达式 r'(.*) are (.*?) .*'的深入理解

    Python正则表达式 r'(.*) are (.*?) .*'的深入理解

    日常的开发工作中经常会有处理字符串的需求,简单的字符串处理,我们使用python内置的字符串处理函数就可以了,但是复杂的字符串匹配就需要借助正则表达式了,这篇文章主要给大家介绍了关于Python正则表达式 r‘(.*) are (.*?) .*‘的相关资料,需要的朋友可以参考下
    2022-07-07
  • 常用python爬虫库介绍与简要说明

    常用python爬虫库介绍与简要说明

    本文介绍了一些常用的python爬虫库其中包括python网络库,python网络爬虫框架,python HTML解析,python文本处理,python 自然语言处理,python 浏览器模拟等各种常用的python库
    2020-01-01
  • python进阶教程之词典、字典、dict

    python进阶教程之词典、字典、dict

    这篇文章主要介绍了python进阶教程之词典、字典、dict,说了好几个词最官方的应该是字典,英文dict,本文就是专注讲解字典的,需要的朋友可以参考下
    2014-08-08
  • Python安装Bs4及使用方法

    Python安装Bs4及使用方法

    这篇文章主要介绍了Python安装Bs4及使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python如何安装第三方模块

    Python如何安装第三方模块

    在本篇文章里,小编给大家分享的是关于Python安装第三方模块的方法及实例代码,需要的朋友们可以学习下。
    2020-05-05
  • 如何使用Python异步之上下文管理器

    如何使用Python异步之上下文管理器

    这篇文章主要为大家介绍了如何使用Python异步之上下文管理器详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Python企业编码生成系统总体系统设计概述

    Python企业编码生成系统总体系统设计概述

    这篇文章主要介绍了Python企业编码生成系统总体系统设计,简单描述了Python企业编码生成系统的功能、结构与相关编码实现技巧,需要的朋友可以参考下
    2019-07-07
  • Pytorch实现常用乘法算子TensorRT的示例代码

    Pytorch实现常用乘法算子TensorRT的示例代码

    pytorch 用于训练,TensorRT用于推理是很多AI应用开发的标配。大家往往更加熟悉 pytorch 的算子,而不太熟悉TensorRT的算子。本文介绍了Pytorch中常用乘法的TensorRT实现,感兴趣的可以了解一下
    2022-06-06
  • Python pandas中apply函数简介以及用法详解

    Python pandas中apply函数简介以及用法详解

    apply()函数是pandas里面所有函数中自由度最高的函数, apply()函数的参数是一个函数指针,这里可以使用lambda表达式帮助简化代码,下面这篇文章主要给大家介绍了关于Python pandas中apply函数简介以及用法的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论