python:import自定义包或py文件时,pyCharm正常但终端运行提示ModuleNotFoundError: No module named错误

问题

示例项目引用items.py,项目在pycharm开发工具中可以正常运行,但使用终端直接运行会报错ModuleNotFoundError: No module named。如下图。

原因

pycharm开发工具运行正常,说明目录和引用模块是没问题的。问题在于终端的运行环境只搜索文件当前目录、已安装的内置模块和第三方模块,不会主动搜索其它目录,而pycharm可以根据项目的配置可以搜索引用目录(如设置了Source Boot)。

解决方案

在引用items之前,先使用sys.path将items.py所在目录添加到项目运行环境,终端也可以正常运行了。

python 复制代码
import sys
print(sys.path) #查看当前python解释器搜索目录集合
import os
#print(os.path.dirname(__file__)) #当前文件所在绝对路径
prPath=os.path.dirname(os.path.dirname(__file__)) #当前文件所在绝对路径的上一级路径
print(prPath) #items所在目录
sys.path.append(prPath) #将items所在目录添加到运行环境

以上问题解决完毕。

如果我的文章解决了你的问题,欢迎点赞、收藏或评论。

相关推荐
二川bro6 分钟前
模型部署实战:Python结合ONNX与TensorRT
开发语言·python
联系QQ:2769988511 分钟前
电化学与冷启动仿真的赝电容计算及GITT扩散系数研究——阻抗分析拟合与全电池电容器性能评估
开发语言
秋邱13 分钟前
AI + 社区服务:智慧老年康养助手(轻量化落地方案)
人工智能·python·重构·ar·推荐算法·agi
rising start22 分钟前
三、FastAPI :POST 请求、用户接口设计与 Requests 测试
python·网络协议·http·fastapi
言言的底层世界35 分钟前
c++中STL容器及算法等
开发语言·c++·经验分享·笔记
liu****1 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
CM莫问1 小时前
详解机器学习经典模型(原理及应用)——岭回归
人工智能·python·算法·机器学习·回归
SunnyRivers1 小时前
Python打包指南:编写你的pyproject.toml
python·打包·toml
韭菜钟1 小时前
在Qt中使用QuickJS
开发语言·qt
计算机毕设小月哥1 小时前
【Hadoop+Spark+python毕设】中式早餐店订单数据分析与可视化系统、计算机毕业设计、包括数据爬取、数据分析、数据可视化
后端·python