解决Ubuntu系统终端运行python文件报错“ImportError/ModuleNotFoundError:No Module named xx”
在编译器或是Pycharm运行代码时,调用文件之间的函数或是类不会报错,但是在终端运行时却报错没有xx模块,明明自己已经写了调用代码:from xx import xx
原因:(不想看可直接跳到解决方法)
Python在启动解释器(Interpreter)时不光会导入环境变量中sys.path
发现的模块,还会导入当前工作目录下的模块。
当你在IDE中启动解释器时,当前的工作目录就是项目目录,能顺利调用同项目中的模块;但是当你通过命令行启动时,当前工作目录为你启动解释器时所在的目录,如果当时的位置不是项目目录,那么项目目录中的模块就不会被找到,因此运行的时候报错:ModuleNotFoundError: No Module named ...(在例子中我的当前目录是.../package2是项目目录底下的一个文件夹,不是项目目录,所以报错)
解决方法:
方法很简单,就是把模块路径提供给解释器:
①(推荐) 把模块路径放到环境变量中作为全局变量(sys.path能扫描到)。
在运行的主文件开头加上sys.path.append(‘主项目文件夹路径’)
比如我的项目就在运行的主文件夹加上以下几句代码(其它文件不用加,只加一个文件就行):
import sys
sys.path.append('/home/rubin/papercode/ADNet_pytorch') #()里面就是我的项目绝对路径
再运行主文件就不会报错啦!问题得到解决!
②在其它模块文件夹下都新建一个空的__init__.py文件,这样调用就不会出错
PS:博主被这个问题困扰了三四天了,终于找到解决的方法了,特此奉上!
③也是把其它模块路径放到主文件下,可以在main.py头部添加以下代码:
sys.path.insert(0,'./xxx')
from xxx.xxx import xx
再运行主文件就不会报错啦!问题得到解决!
解决Ubuntu系统终端运行python文件报错“ImportError/ModuleNotFoundError:No Module named xx”相关推荐
- Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法
Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...
- 解决运行python脚本报错:ModuleNotFoundError: No module named ‘numpy‘
报错: Traceback (most recent call last): File "get_kpi.py", line 2, in <module> ...
- 【python报错】 ModuleNotFoundError: No module named 'X' 如何调用自己写的 moudle / python / .py 文件(同一项目中)
自己用 python 写项目,文件系统结构如下: RL-for-Order-Workflow RL-for-Order-Workflow\pySim RL-for-Order-Workflow\pyS ...
- 【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E402 module level import not at top of file )
文章目录 一.报错信息 二.解决方案 一.报错信息 PyCharm 运行 Python 程序报错 : PEP 8: E402 module level import not at top of fil ...
- python下载库报错_下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决...
下载python中Crypto库报错:ModuleNotFoundError: No module named 'Crypto'的解决 前言 最近在网上找了很多下载Crypto的方法,感觉作用都不算很 ...
- 导入自己模块包导入报错:ModuleNotFoundError: No module named ‘xxx‘解决方法 晓物智联
导入自己模块包导入报错:ModuleNotFoundError: No module named 'xxx'解决方法 文章来源于:http://www.52phm.cn/blog/detail/28 ...
- 已解决(from docx import Document导包报错)ModuleNotFoundError: No module named ‘exceptions‘
已解决(from docx import Document导包报错)ModuleNotFoundError: No module named 'exceptions' 文章目录 报错代码 报错翻译 报 ...
- 已安装各个模块,程序仍报错:ModuleNotFoundError: No module named 'numpy'
对于已安装各个模块的如numpy.pandas.jupyter notebook等,程序仍报错:ModuleNotFoundError: No module named 'numpy' 我当时还怀疑自 ...
- 报错:ModuleNotFoundError: No module named ‘cv_bridge‘,以及在ROS是如何安装cv_bridge库包
文章目录: 1 问题原因分析 2 问题解决方式 2.1 尝试问题解决方式1 2.2 尝试问题解决方式2 1 问题原因分析 在个错误是由于安装的ros版本并没有带cv_bridge库包,所以在导入的时候 ...
最新文章
- tensorflow 线性回归
- C++BOOL,int,float,指针类型的变量a 与“零”比较语句
- POJ - 3258 River Hopscotch(二分水题)
- 模拟知乎登陆(requests和scrapy)
- python classmethod函数_在python中使用与instance和classmethod相同的函数
- 力扣19,删除链表的倒数第n个节点(JavaScript)
- 大学生转行IT,零基础非计算机专业可以学会吗?
- 初探ECS-Linux,后期还会更新。
- LRU最少最近使用缓存策略
- 匿名对象,String类
- caffe中 softmax 函数的前向传播和反向传播
- 全国大学生节能减排社会实践与科技竞赛最新作品模板资料国家三等奖分享
- 图解RingBuffer数据结构
- linux mbr 转 gpt 数据丢吗,MBR转GPT要重装系统吗?不丢失数据 MBR转GPT分区表教程...
- SVN 提示svn-base: 系统找不到指定的文件
- echarts 自定义甘特图
- 你的离职是为了事业还为了工作??
- w10系统服务器如何创建新用户,关于Win10怎么给本地账户添加管理员权限的讲解...
- ins 登录发现未知网络_如何发现未知的知识
- 开启xmp1还是2_英雄联盟手游高帧率模式怎么开启-高帧率模式开启方法
热门文章
- 【转载】deque双向队列
- 【CSS】CSS 的优先级总结
- 使用mysql命令修改配置信息
- 从RT-Thread RTOS接触到的3个算法
- mtk android手机 代码问题,MTK用户必备 Android手机也能系统恢复
- 表格锁定表头不动_Excel教程:你有没有被表头难过?分享几招搞定(下)
- redis查看key的过期时间_面试官:Redis过期后key是怎么样清理的?
- 今晚直播丨有备无患 - 达梦8的备份恢复
- 近千人观看live,晚8点继续安排,2个CPU过高案例+1个文件数据删除案例-Oracle故障分析的方法论+DBA能力提升要领...
- MySQL 每秒 570000 的写入,如何实现?