解决window移植到linux shell执行Python脚本提示找不到模块问题:

问题描述:

        调试python工程时代码正常执行,但远程执行时,导入模块时提示找不到模块,即使模块就在当前工程目录下也不行

解决方案:

1、将工程目录添加到sys.path中 (测试有效)

import sys
cpath = 'project_path' # 写成项目的地址 最好是绝对地址 因为有的地方确实会报错 不清楚原因
sys.path.append(cpath)


2、直接修改系统的环境变量

# 添加或者创建PYTHONPATH这个变量export PYTHONPATH="project_path"

sys.append()详细说明:

当我们导入一个模块时:import XXX,默认情况下python解释器会搜索当前目录已安装的内置模块第三方模块,如果都搜索不到,则会报错。我们的搜索路径存放在sys模块中的path中,sys.path是当前路径的一个列表。[即默认路径可以通过sys.path来打印查看]

4.1 sys.append()

sys.path是一个列表list,它里面包含了已经添加到系统的环境变量路径

当我们要添加自己的引用模块搜索目录时,可以通过list的append方法:

sys.append()

对于需要引用的模块和需要执行的脚本文件不在同一个目录时,可以按照如下形式来添加路径:

【例如】

①导入的XX包在另一个项目文件中,在自己写的程序中需要用到XX包

②所以我们在运行自己的程序时,首先加载导入的XX包,加载的时候python解释器会去解释sys.path默认搜索路径去搜索。

③如果通过sys.path中的路径可以搜索到XX包,然后加载。

④如果无法通过sys.path中的路径搜索到XX包,即说明自己的程序中引用的XX包,与自己的程序脚本所在目录不在同一个路径。(无法在自己的程序脚本中根据默认搜索路径查到XX包)

⑤然后我们就需要将XX包的搜索路径添加到自己的程序脚本的默认搜索路径中,重新运行自己的程序脚本,先搜索XX包再加载XX包。

import sys  
sys.path.append(’需要引用模块的地址')# sys.path.append("..")   # 这代表添加当前路径的上一级目录

注:这种方式是运行时修改,脚本运行后就会失效。

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

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

相关文章

python语法基础知识案例_Python 语法速览与实战清单

本文是对于 现代 Python 开发:语法基础与工程实践的总结,更多 Python 相关资料参考 Python 学习与实践资料索引;本文参考了 Python Crash Course - Cheat Sheets,pysheeet 等。本文仅包含笔者在日常工作中经常使用的,并…

Linux Android 常用shell命令汇总 不断更新

文章目录 @[toc] 01 前言02 正文01 前言 Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程 1、我们正常需要的操作是 ps |grep xxx kill -9 xx 2、kill命…

dubbo管理控制台安装和使用

关于dubbo的配置使用已经配置好了简单的示例,下面先记录下dubbo管理控制台的安装和使用(用的zookeeper的注册中心),在网上找了些按照示例 dubbo管理控制台开源部分主要包含: 提供者 路由规则 动态配置 访问控制 权…

RuntimeError: CUDA error (10): invalid device ordinal

一、Python Error 在 Pytorch 读取参数时,报错 RuntimeError: cuda runtime error (10) : invalid device ordinal。 二、解决方法 造成这个错误的原因主要是本地只有一个 GPU (GPU:0),而程序中使用 GPUs:1。 因此,在程序中找到定义 devi…

C指针-这该死的嵌入式学习生涯

C指针-这该死的嵌入式学习生涯 01 前言 最近在公众号里面收到好几个同学关于嵌入式方面的咨询,再加上在知乎里面陆续推送了好几个嵌入式学习入门的问题,这次想统一整理一下,说说我这些年是如何被嵌入式按在地上摩擦的。 ​ 1、那一年夏天 200…

ModuleNotFoundError: No module named ‘pydensecrf‘解决办法

在运行train.py时出现了ModuleNotFoundError: No module named ‘pydensecrf’ 问题。 解决方法: //安装指令 pip install cython pip install pydensecrf

input中的disabled 和 readonly的区别

1、Readonly只针对input(text / password)和textarea有效, 而disabled对于所有的表单元素都有效, 2、但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去, 而readonly…

【YOLOV5-6.x中文注释版】整体项目代码全中文注释导航页面-By2022

1、开贴原因: YOLOV5:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite 现在YOLOV5已经更新到6.X版本,现在网上很多还停留在5.X的源码注释上,因此特开一贴传承开源精神&#x…

python字符串赋值与java区别_java和python细节总结和java中string 的+操作

//JAVA中对arrayList的初始化,能够分配空间,不能之间让一个ArrayList赋值给另外一个ArrayList,这样是引用赋值,当一个改变时候,另外一个也改变 List tmp new ArrayList(Arrays.asList(new String[sub.size()])); //py…

学习微信公众号oauth2.0

首先看下整个步聚. 1. 后台服务器引导用户请求微信服务器, 微信服务器响应在微信浏览器提示用户是否要授权. 2. 用户同意后微信服务器返回code. 3. 微信浏览器跟据重定向redirect_uri带上code请求后面服务器. 4. 后台服务器收后code后, 用code请求微信服务器. 5. 微信服务器返回…

【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计

主干目录: 【YOLOV5-6.x 版本讲解】整体项目代码注释导航现在YOLOV5已经更新到6.X版本,现在网上很多还停留在5.X的源码注释上,因此特开一贴传承开源精神!5.X版本的可以看其他大佬的帖子本文章主要从6.X版本出发,主要解…

python 爬虫是什么_“python爬虫“是什么呢?

Python爬虫是用Python编程语言实现的网络爬虫,主要用于网络数据的抓取和处理,相比于其他语言,Python是一门非常适合开发网络爬虫的编程语言,大量内置包,可以轻松实现网络爬虫功能。 Python爬虫可以做的事情很多&#x…

2017模拟赛:还款计算

银行贷款的等额本息还款方法是:每月还固定的金额,在约定的期数内正好还完(最后一个月可能会有微小的零头出入)。 比如说小明在银行贷款1万元。贷款年化利率为5%,贷款期限为24个月。则银行会在每个月进行结算&#xff1…

【YOLOV5-6.x讲解】数据增强方式介绍+代码实现

主干目录: 【YOLOV5-6.x 版本讲解】整体项目代码注释导航现在YOLOV5已经更新到6.X版本,现在网上很多还停留在5.X的源码注释上,因此特开一贴传承开源精神!5.X版本的可以看其他大佬的帖子本文章主要从6.X版本出发,主要解…

Android Input子系统-含实例源码

Android Input子系统-含实例源码 1 Input子系统作用 Android很多外设都是用到输入输出设备,比如touchscreen,键盘,音量键等,输入 设备对应Android 框架是Android input子系统,像我们定制类比较多的,很多 需…

【数据集显示标注】VOC文件结构+数据集标注可视化+代码实现

一、效果图: 显示:代码常见报错》正文开始↓ 一、Pascal VOC数据集介绍 Pascal VOC网址:http://host.robots.ox.ac.uk/pascal/VOC/ 训练/验证数据集下载(2G):host.robots.ox.ac.uk/pascal/VOC/voc2012/VO…

MYSQL基础十一--存储引擎

MYSQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。 每一种存储引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。 存储引擎: MyISAM InnoDB Memory CSV Archive 并发控制:当多个连接…

tinyxml2遍历所有节点_Python实现二叉树的遍历

Outline:二叉树概念二叉树遍历(前序、中序、后序、宽度优先遍历)的迭代实现和递归实现;二叉树的深度,二叉树到leaf的所有路径。树(Tree)是一种抽象数据类型(ADT)&#xf…

触摸屏响应速度性能分析

1 前言2 触摸屏的响应速度分为几个阶段去优化3 举例:Rockchip平台 3.1 分析3.2 总结:所以阶段3耗时:439.251402-439.249389=2.1ms4示波器测试 4.1 阶段14.2 阶段2,阶段35 代码测试6 原文链接1 前言 上一篇文章介绍了Android Input子系统,Touchscreen是典型的输入设备,有…

如何监控NVIDIA Jetson的的运行状态和使用情况

一、NVIDIA Jetson介绍 NVIDIA Jetson是NVIDIA为新一代自主机器设计的嵌入式系统,是一个AI平台,所提供的性能和能效可提高自主机器软件的运行速度。每个系统都是一个完备的模块化系统,具备CPU、GPU、PMIC、DRAM和闪存。Jetson具备可扩展性&a…