python modulenotfounderror_python 服务器运行代码报错ModuleNotFoundError的解决办法

一、问题描述

一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named ‘xxx" 错误。

二、问题原因

在代码中引入了其他文件的包(自己写的包,非 pip 安装的),问题出在 import那行语句。

错误的原因是因为路径的原因,服务器端的路径和我们本地的路径不一样显示。

三、解决示例

要解决这个问题,可以在自己代码的顶端加入以下代码:

import sys

import os

sys.path.append(os.path.dirname(sys.path[0]))

或者

import sys

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.insert(0, BASE_DIR)

以上代码可以保证在任何时候都切换到当前执行脚本所在目录中,具体根据自己脚本所在的目录结构进行调整。

四、sys.path.append() 和 sys.path.insert()

Python 程序中使用 import xxx时,Python 解析器会在当前目录、已安装和第三方模块中搜索 xxx,如果都搜索不到就会报错。

sys.path 模块可以动态的修改系统路径,这种方法导入的路径会在 Python 程序退出后失效。

sys.path 本身是个列表,所以在里面添加目录是很容易的,添加完后,新目录即时起效,以后的每次import操作都可能会检查这个目录。

1. sys.path.append()

在 sys.path列表的末尾临时添加搜索路径,方便更简洁的 import其他包和模块。这种方法导入的路径会在 Python 程序退出后失效。

示例:

import sys

sys.path.append("..") # 表示导入当前文件的上层目录到搜索路径中

sys.path.append("/home/model") # 绝对路径

from folderA.folderB.fileA import functionA

2. sys.path.insert()

可以定义搜索优先顺序,序号从 0 开始,表示最大优先级,sys.path.insert()加入的也是临时搜索路径,程序退出后失效。

示例:

import sys

sys.path.insert(1, "./model")

以上就是python 服务器运行代码报错ModuleNotFoundError的解决办法的详细内容,更多关于python 代码报错的资料请关注云海天教程其它相关文章!

原文链接:https://www.wenyuanblog.com/blogs/python-module-not-found-error-in-server.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python金融大数据分析视频_Python金融大数据分析 PDF 全书超清版

给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python金融、大数据分析方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小47.8 MB,希尔皮斯科编写,目前豆瓣、亚马逊、当当、京东等电子书…

linux批量切割图片,MAC中用Shell脚本批量裁剪各种尺寸的App图标

在APP上架前,一次一次自己剪裁上架需要的各个尺寸的Icon不是程序员该干的事,使用Mac中自带的sips工具可以解决这个需求。关于sips,在终端中直接执行可以出现以下信息:sips 10.4.4 - scriptable image processing system.This tool…

刘卫国python实验答案_MATLAB(刘卫国)部分实验答案

实验3第一题&#xff1a;clear allm[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];for xmif x<0&x~-3y1x^2x-6;disp([y ,num2str(y1)])elseif x>0&x<5&x~2&x~3y2x^2-5*x6;disp([y ,num2str(y2)])elsey3x^2-x-1;disp([y ,num2str(y3)])endend第二题&#xff1a;cle…

kaggle房价预测特征意思_机器学习-kaggle泰坦尼克生存预测(一)-数据清洗与特征构建...

1、背景&#xff1a;1.1 关于kaggle&#xff1a;谷歌旗下的 Kaggle 是一个数据建模和数据分析竞赛平台。该平台是当下最流行的数据科研赛事平台&#xff0c;其组织的赛事受到全球数据科学爱好者追捧。 如果学生能够在该平台的一些比赛中获得较好的名次&#xff0c;不仅可以赢得…

linux docker安装svn,使用docker镜像搭建svn+Apache环境

环境准备虚拟机装好之后&#xff0c;按照官网步骤检查虚拟机内核版本&#xff0c;必须在3.10以上版本&#xff0c;故此处安装redhat_7.2# uname -r3.10.0-327.el7.x86_64安装docker&#xff1a;yum install docker-io有依赖是直接安装具体的依赖软件&#xff0c;解决依赖docker…

感恩工作平台心得体会_感恩工作心得体会6篇

2016全新精品资料-全新公文范文-全程指导写作–独家原创1/9感恩工作心得体会6篇感恩是世界最美好的语言&#xff0c;是心中最美的境界。感恩不但是一种美德&#xff0c;也是我们工作中必须要有的一种心态。下面是美文网带来的感恩工作的心得体会&#xff0c;仅供参考。感恩工作…

springboot 设置ico_Spring Boot--Thymeleaf模板引擎/静态页面

点关注&#xff0c;不迷路&#xff1b;持续更新Java相关技术及资讯&#xff01;&#xff01;&#xff01;1.Spring Boot对静态资源的映射规则如果静态资源文件夹下有 index.html的话,直接访问localhost:8080的话,index就是欢迎页使用自己的图标:在静态资源文件夹放一个 favicon…

linux shell 豆瓣,用Linux shell脚本爬取豆瓣邮箱

前两天总结一下邮箱格式的正则表达式&#xff0c;写了一个脚本来判断输入的邮箱地址是否符合邮箱的格式(有兴趣的朋友可以翻一下我的博客去看一下)。在网上找资料的时候&#xff0c;发现基本都是用Python和Java来做爬虫&#xff0c;当然Python的居多。本着学习的心态&#xff0…

php 获取header_php 输出404状态码

今天在做一个php数据提交的小功能时&#xff0c;需要在判断一个值是如果为空时&#xff0c;就让后台的逻辑页面返回 404 状态码&#xff0c;提示用户页面不存在。那么接下来&#xff0c;飞鸟慕鱼博客要说的是 php 如何返回或输出 html 404 的状态码。php header()函数header()&…

python如何使用字典_Python-如何使用点“。” 访问字典成员?

小编典典 你可以使用我刚刚制作的此类来做。通过此类&#xff0c;你可以Map像其他字典&#xff08;包括json序列化&#xff09;一样使用该对象&#xff0c;也可以使用点符号。希望对你有所帮助&#xff1a; class Map(dict): """ Example: m Map({first_name: …

getcwd和pwd为什么不一样_农村医保,为什么每个地区收费不一样?

新农村合作医疗保险的缴费标准&#xff0c;为什么每个地区都不一样呢&#xff1f;我们可能不难发现&#xff0c;就是说你在的地区每年交费可能是280元&#xff0c;但是别的人在的地区可能交费达到了306元或者说320元&#xff0c;这究竟是一种什么样的情况呢&#xff1f;其实每个…

c语言选择结构程序设计笔记,C语言选择结构程序设计.ppt

《C语言选择结构程序设计.ppt》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《C语言选择结构程序设计.ppt(32页珍藏版)》请在人人文库网上搜索。1、选择结构程序设计,关系运算符和关系表达式 逻辑运算符和逻辑表达式 If语句 Switch语句 程序举例,关系运算符和表达式 …

矩阵论思维导图_《实变函数论》 江泽坚 3rd 思维导图与笔记整理

实变函数学十遍实变函数应该是你们本科所有数学课程中最难的了 ————韦老师如是说学期初就知道这个课不好学。话不多说&#xff0c;期末之前把复习导图全部做完了&#xff0c;po上来分享。注&#xff1a;由于制作辛苦&#xff0c;所以预先告知收取些许费用&#xff08;不到一…

kinux查日志_Linux查看日志常用命令

tail -n 10 test.log 查询日志尾部最后10行的日志;tail -n 10 test.log 查询10行之后的所有日志;head:跟tail是相反的&#xff0c;tail是看后多少行日志&#xff1b;例子如下&#xff1a;head -n 10 test.log 查询日志文件中的头10行日志;head -n -10 test.log 查…

python替换txt指定内容_python 实现类似sed命令的文件内容替换

#!/usr/bin/env python #_*_coding:utf-8 _*_ #replace()方法把字符串中的 old&#xff08;旧字符串&#xff09;替换成new(新字符串)&#xff0c;如果指定第三个参数max&#xff0c;则替换不超过 max 次。 #语法&#xff1a;str.replace(old, new[, max]) import sys,os old_t…

sftp shell 批量上传文件_如何在shell脚本里使用sftp批量传送文件-阿里云开发者社区...

主要步骤如下:1.为运行shell脚本的本地用户生成密钥对2.将其中的公钥分发到sftp欲登录的远程服务器上3.编写并以上面的本地用户运行shell脚本一.生成密钥对在shell脚本中使用sftp时必须用到密钥对(公钥和私钥).可使用下列方式生成(SSH 2.X版本),这里本地用户记为:local_user:$ …

python nlp_使用python在stanford-nlp中的回指解析

这是使用CoreNLP输出的数据结构的一种可能的解决方案.提供所有信息.这并不是完整的解决方案,可能需要扩展才能处理所有情况,但这是一个很好的起点. from pycorenlp import StanfordCoreNLP nlp StanfordCoreNLP(http://localhost:9000) def resolve(corenlp_output): "&q…

投篮c语言程序设计,教师招聘笔试体育之篮球必做20题(一)

教师招聘笔试体育之篮球必做20题(一)一、单项选择题1.篮球是最基本的区域联防战术是( )站位。A.2-1-2 B.2-3 C.3-2 D.1-3-12.国际篮球规定&#xff0c;球员的球衣号码必须是从( )号开始。A.1-15 B.2-15 C.3-15 D.4-153.篮球比赛中&#xff0c;某队进攻出手后&#xff0c;球碰触…

python分治算法_分治法及其python实现例子

在前面的排序算法学习中&#xff0c;归并排序和快速排序就是用的分治法&#xff0c;分治法作为三大算法之一的&#xff0c;有非常多的应用例子。分治法概念将一个复杂的问题分成两个或更多的相同或相似的子问题&#xff0c;再把子问题分成更小的子问题----“分”将最后子问题可…

jackson 读取多文件_Spring Boot系列之读取配置

使用SpringBoot框架开发&#xff0c;读取配置是少不了的&#xff0c;那么你会读取配置吗&#xff1f;你会写配置吗&#xff1f;List&#xff1f;Map&#xff1f;1 目的本节我们要解决如下几个问题&#xff1a;如何使用Spring Boot读取配置文件&#xff1f;有哪些方式&#xff1…