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

以上问题解决完毕。

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

相关推荐
IT小码哥丶1 分钟前
华为仓颉语言初识:并发编程之同步机制(上)
java·开发语言
belong_to_you10 分钟前
python模块——tqdm
python
一抓掉一大把21 分钟前
MiniExcel模板填充Excel导出
开发语言·javascript·ecmascript
小红帽2.029 分钟前
开源PHP在线客服系统源码搭建教程
开发语言·开源·php
L_cl41 分钟前
【Python 算法零基础 4.排序 ⑪ 十大排序算法总结】
python·算法·排序算法
Vertira43 分钟前
Pytorch安装后 如何快速查看经典的网络模型.py文件(例如Alexnet,VGG)(已解决)
人工智能·pytorch·python
qq_433554541 小时前
C++ list代码练习、set基础概念、set对象创建、set大小操作
开发语言·c++·list
老歌老听老掉牙1 小时前
使用 SymPy 进行向量和矩阵的高级操作
python·线性代数·算法·矩阵·sympy
DX_dove1 小时前
pytorch3d+pytorch1.10+MinkowskiEngine安装
人工智能·pytorch·python
张伯毅1 小时前
Java 类型参数 T、R 、 O 、K、V 、E 、? 区别
java·开发语言