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所在目录添加到运行环境

以上问题解决完毕。

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

相关推荐
铅笔小新z1 分钟前
【C语言】数据类型和变量
c语言·开发语言
code_whiter7 分钟前
C++11(stack和queue)
开发语言·c++
m0_470857648 分钟前
CSS如何实现Bootstrap进度条自定义动画_利用keyframe关键帧
jvm·数据库·python
nashane10 分钟前
HarmonyOS 6学习:Navigation Dialog模式与智能Web长截图融合实践
人工智能·pytorch·python
最后一支迷迭香10 分钟前
苹果的MacOS系统适合做Java开发吗
java·开发语言·macos
m0_7390300012 分钟前
[特殊字符] Java 高频面试题汇总
java·开发语言·面试
2zcode13 分钟前
基于MATLAB的5G物理层文本传输系统仿真与性能分析
开发语言·5g·matlab
m0_6245785915 分钟前
SQL高效实现基于JOIN的交叉分析_多表关联实现多维统计
jvm·数据库·python
威联通网络存储16 分钟前
QNAP 闪存底座:制造企业 ERP 数据库容灾方案
数据库·python·制造
ZHW_AI课题组18 分钟前
基于AnimeGANv2的照片动漫化
图像处理·python