python终端命令执行提示找不到自定义模块

8 篇文章 0 订阅
6 篇文章 0 订阅

python终端命令执行提示找不到自定义模块

描述一下遇到的问题:

平常在用pyhton做开发写代码的时候,我们大多数都是直接是编辑器中操作的(pycharm、eclipse、sublime等),其中免不了各个模块之间的一些导入方法调用,以下是我的目录结构:

在编辑器中我们导入后引用是没问题的可以正常运行,但是当我们直接在终端执行py脚本的时候就会报出 “from readexcel import ReadExcelE ModuleNotFoundError: No module named ‘readexcel’”之类找不到模块的错误。
在这里插入图片描述

这个导入的是我们的本地的文件,报的错其实就是终端找不到我们本地的导入的这个文件。
因为编辑器运行的时候,都会检索我们的整个工程目录,把一些目录都添加到sys.path中,自然运行起来的时候,都能够找到对应的模块py文件。
而我们在终端执行某个文件的时候都是直接运行指定文件的,缺少需要检索的路径,所以终端无法找到我们要导入的文件。
第一种方法:通过 os库方法获取我们当前文件的根目录,然后用 sys.path.append()进行添加

#调用os,sys模块
import os  
import sys
 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath或者os.path.dirname(__file__)))
sys.path.append(BASE_DIR)
 
from 模块路径.模块文件 import 类1, 类2, 类3
 
# xxxx你的代码

第二种方法:直接使用 sys.path.append() 方法添加绝对路径

#在要执行的文件中添加此路径
sys.path.append("/xxxxxx/pyhton_pytest_Demo/Demo_API_1/lib/")

注意:这两种方法要添加在导库之前,不然依然会无效找不到
网上很多查到的此类的添加的是当前文件的路径,而我们要添加的是所要导入文件的路径,并没有很清晰的阐述,所以一定要注意
经实测,添加后均可执行成功
小伙伴们在遇到此类问题的时候可以试试,需要多关注一下添加的是文件目录还是直接精确到文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

回忆式~过去.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值