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


猜你喜欢
- 如下所示:#!/usr/bin/env python#coding: utf8import getpassdb = {}def newUse
- 数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行。尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的
- 1、准备数据以下操作将在该表中进行create table student ( id int unsigned primary key au
- 综述:本文讨论了VBScript和 JScript之间的区别,以及它们的使用场合。推荐:Vbscript5.5中文语言参考手册chm格式下载
- 需求分析:项目中根据测得的数据在界面上实时绘制运行环境:Python 3.7 + Matplotlib 3.0.2 + PyQt 5matp
- 一、安装我们知道selenium是桌面浏览器自动化操作工具(Web Browser Automation)appium是继承selenium
- 一. 图片懒加载的目的大型网站如常用的淘宝,京东等页面,需要展示大量的商品图片信息,如果打开网页时让所有图片一次性加载完成,需要处理很多次网
- 使用access数据库时可能用到的数据转换:类型转换涵数:函数 返回类型 expression 参数范围CBool Boolean 任何有效
- 1.<script language="javascript"> var str = "ajfhs
- 对于一个net开发这爬虫真真的以前没有写过。这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬
- 本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下原文件内容放在list中,新文件内容按行查找,如果
- 前言PostgreSQL (也叫 Postgres)是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发
- 运行代码框<html><META HTTP-EQUIV="Content-Type" content=
- 上次在blueidea上看到一个元素圆角的实现方法,但是那个太复杂了。于是就自己写了一个函数,可以将元素自动圆角,如div层,表格等。共有四
- tips:在win10中查找SQL Server 2016配置管理器,用来开启SQL Server网络配置,启用实例TCP/IP协议和Nam
- <% a="福建是中国的一个省|我们美丽中国的武夷山!" b="中国,我们,武夷山,福建,美国,苹果&q
- 调用jupyter notebook文件内的函数一种简单方法python开发环境jupyter notebook良好的交互式和模块化受到很多
- 生活中我们经常会遇到一些加密算法,今天我们就聊聊这些加密算法的Python实现。部分常用的加密方法基本都有对应的Python库,基本不再需要
- 目的测试一个对象是否是字符串方法Python的字符串的基类是basestring,包括了str和unicode类型。一般可以采用以下方法:d
- 之前用python调用API存JSON的时候试用了很多方法,现在调用API直接获取参数的时候也是查了好多例子(毕竟我是一个初学者)。结果让我