linux下使用python打开terminal时报错如何解决

发布时间:2023-03-14 11:38:01 作者:iii
来源:亿速云 阅读:92

这篇文章主要介绍“linux下使用python打开terminal时报错如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux下使用python打开terminal时报错如何解决”文章能帮助大家解决问题。

linux下使用python打开terminal时报错

场景一:在jenkins上执行自动化任务,测试任务执行时使用jenkins用户(有sudo权限),测试脚本在linux执行(后台),执行到以下代码时报错:

os.system(f"/usr/bin/konsole -e {cmd_orin2_10s}")

场景二:测试脚本在本地执行没有问题,本地执行时使用root用户,可正常打开命令窗口

错误日志

17:44:03  qt.qpa.xcb: could not connect to display 
17:44:03  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
17:44:03  This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
17:44:03  
17:44:03  Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

解决方法

从场景1和场景2可对比出,应该是由环境变量引起。从环境变量已经显示窗口这两方面去查找问题,可找到 export DISPLAY=":0.0"

补充:pycharm 运行没问题但是 terminal(终端)运行却各种 module 问题

问题描述

很多时候你用 pycharm 用习惯了,啥都弄好了,但是却忽略了很多路径上的问题,偶尔需要和其他环境、平台交互的时候,比如写了一个 C# 程序去调用 python 的借口,就相当于 terminal 传参数启动,这个时候就会显示各种各样的 No module 问题 解决办法 究其原因,是因为外部环境在调用 python 接口的时候,要去你的程序中找各个 module,但是如果这些 module 还没有加入到环境变量中,那么就会找不到,因此推荐用下面的语句放在每个用到的 py 文件的最前头

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')

关于“linux下使用python打开terminal时报错如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

推荐阅读:
  1. 怎么用Python实现屏幕截图
  2. Python如何实现学生管理系统并生成exe可执行文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python terminal linux

上一篇:Python3中的urlopen()怎么使用

下一篇:python3.x怎么向mysql存储图片并显示

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》