为什么 PyQt5 项目每次都会收到警告“QStandardPaths: XDG_RUNTIME_DIR not set”

2024-01-12

我正在使用 python 3.6.2 和 Emacs 25 在 Ubuntu 中开发 PyQt5 项目,并且它以 root 权限运行。这工作正常,但我得到了

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'

从每次运行的命令行。

如果您能让我了解这是什么以及避免这种情况的可能解决方案,那就太好了。

代码

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):

  def __init__(self, parent=None):
    super(MainWindow, self).__init__(parent=parent)
    self.setupUi(self)
    # TODO: board connection
    self.comPort.addItems([str(port) for port in display_SerialPorts()])
    self.comPort.highlighted.connect(self.boardConnet)


  def boardConnet(self):
    baudrate = 9600
    port = self.comPort.currentText()
    ser = serial.Serial(
        port, baudrate, timeout=1)  # open first serial port
    ser.close()
    ser.open()

提前感谢您抽出宝贵的时间——如果我错过了任何内容,过分或过分强调了某个特定点,请在评论中告诉我。


不确定这是 pyqt 还是 python 相关的问题。可能然后以root权限运行你会丢失一些环境变量并且XDG_RUNTIME_DIR https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables就在其中。

这不是什么大问题,因为 Qt 足够聪明,可以回退到合理的默认值,但您可以保留当前使用的环境变量sudo -E <you_app>:

-E' -E(保留环境)选项向安全策略表明用户希望保留其现有环境 变量。如果 -E 选项为,安全策略可能会返回错误 指定且用户无权保留 环境。


UPD:您可以显式指定一组要保留的变量,而不是将所有变量复制到提升的(根)环境中(这可能会引起安全问题)/etc/sudoers文件。编辑此文件sudo visudo命令并添加一行:

Defaults        env_keep += "XDG_RUNTIME_DIR"

UPD2:如果你想访问串行设备没有超级用户权限将您的用户添加到设备的组中(通常称为dialout):

# check group
>>> ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 4, 66 Aug  6 12:23 /dev/ttyUSB0
# add your user to a group
>>> sudo usermod -a -G dialout <your_username>

注销 - 组更改后可能需要登录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 PyQt5 项目每次都会收到警告“QStandardPaths: XDG_RUNTIME_DIR not set” 的相关文章

  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • 为不带引号的函数获取字符串参数

    我有一个函数 用于从 URL 下载文件并将其写入磁盘 并施加特定的文件扩展名 目前 它看起来像这样 import requests import os def getpml url filename psc requests get url
  • 表单输入框不显示

    我正在尝试使用 Django 显示一个简单的表单输入文本框 我正在亚马逊 AWS 上部署 该网站在不同的服务器 pythonanywhere 上运行良好 但在 AWS 上存在主要问题 具体来说 输入框没有被显示 我使用的模板如下 首页 ht
  • 使用 PyQt 和 matplotlib 在可滚动小部件中显示多个绘图

    由于我没有得到答案this https stackoverflow com questions 12179893 creating a scrollable multiplot with pythons pylab我尝试用 PyQt 解决这
  • 调整pandas read_sql_query NULL值处理?

    当我做 from sqlalchemy import create engine import pandas as pd engine create engine sqlite conn engine connect conn execut
  • 根据另一个非索引数组中的值从 numpy 数组中选择元素

    假设我有以下两个数组 a array 1 L 74 423088306605 5 H 128 05441039929008 2 L 68 0581377353869 0 H 88 15726964130869 4 L 97 45015825
  • 使用 Numpy 与 einsum 和 tensordot 进行相同的操作

    假设我有两个 3D 数组A and B形状的 3 4 N and 4 3 N 我可以计算沿第三轴的切片之间的点积 with einsum np eisum ikl kjl gt ijl A B 是否可以执行相同的操作numpy tensor
  • Python:像石英一样的事件调度程序[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 isdigit 表示浮点数?

    a raw input How much is 1 share in that company while not a isdigit print You need to write a number n a raw input How m
  • Dataframe unstack 性能 - pandas

    我正在尝试拆开数据框 它工作正常 但问题是我正在处理 CSV 文件中的巨大数据集 约 10 亿 这是示例数据集 236539 48512569874 Name Danny 236539 48512569874 Class 12 236539
  • Groupby Sum 忽略几列

    在此数据框中 我想按 位置 进行分组并获得 分数 的总和 但我不希望 纬度 经度 和 年份 在此过程中受到影响 sample pd DataFrame Location A B C A B C Year 2001 2002 2003 200
  • 创建 Pyomo 约束的性能

    我正在用 pyomo 设置一个更大的能量优化问题 正如其他中提到的 设置花费了不合理的时间问题 https stackoverflow com questions 43413067 performance of pyomo to gener
  • 如何在pandas中分组后从每组中选择前n行? [复制]

    这个问题在这里已经有答案了 我有一个具有以下形状的 pandas 数据框 open year open month type col1 col2 我想找到每个 年 月 中的顶级类型 所以我首先找到每个 年 月 中每种类型的计数 freq d
  • 如何使用httplib2进行相互证书认证

    我正在使用 httplib2 从我的服务器向另一个 Web 服务发出请求 我们想要使用相互证书身份验证 我了解如何使用证书进行传出连接 h set certificate 但是如何检查应答服务器使用的证书 这张票 http code goo
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta
  • 使用字典时如何避免 KeyError?

    现在我正在尝试编写汇编程序 但我不断收到此错误 Traceback most recent call last File Users Douglas Documents NeWS py line 44 in if item in regis
  • 将 tf.contrib.layers.xavier_initializer() 更改为 2.0.0

    我该如何改变 tf contrib layers xavier initializer tf 版本 gt 2 0 0 所有代码 W1 tf get variable W1 shape self input size h size initi
  • 使用 matplotlib 在 python3 中对多个形状进行动画处理

    尝试在 python3 中使用 matplotlib 动画函数同时对多个对象进行动画处理 下面写的代码是我到目前为止的位置 我能够创建多个对象并将它们显示在图中 我通过使用包含矩形补丁函数的 for 循环来完成此操作 从这里开始 我希望通过
  • 将 scipy 稀疏矩阵的几行采样到另一个中

    如何对 scipy 稀疏矩阵的某些行进行采样 并从这些采样的行中形成一个新的 scipy 稀疏矩阵 例如 如果我有一个 10 行的 scipy 稀疏矩阵 A 并且我想创建一个新的 scipy 稀疏矩阵 B 其中 A 的第 1 3 4 行 该
  • Django ImageField 默认值

    模型 py class UserProfile models Model photo models ImageField upload to get upload file name storage OverwriteStorage def

随机推荐

  • 如何使用 parquet-cpp 编写流式/面向行的数据而不进行缓冲?

    我的 C 应用程序中基本上有面向行 流数据 Netflow 我想将数据写入 Parquet gzip 文件 看着示例 reader writer cc 程序 https github com apache parquet cpp blob
  • 如何在 Objective-C 中监听网络端口

    我正在尝试为 iPhone 制作一个应用程序 可以侦听特定网络端口上的流量 我网络上的服务器正在特定端口上发送消息 服务器处理的设备的不同状态消息 我的问题是 当我创建一个线程并 makePairWithSocket 时 我会阻止其他想要向
  • Actionscript-3和其他语言中存在接口的原因是什么

    这个接口的意义是什么 即使我们在一个类上实现一个接口 每次在不同的类上实现它时 我们都必须一次又一次地声明它的功能 那么接口存在于as3或任何其他具有接口的语言上的原因是什么 谢谢 我基本上同意到目前为止发布的答案 只是补充一点 首先回答简
  • 按名称返回所有因子水平作为三列 data.table [R] 中的新列

    有什么办法使用 data table 或 dplyr 来解决以下问题 library data table DT data table a LETTERS c 1 1 3 8 b c 2 4 7 c as factor c bob mary
  • 解码嗅探到的数据包

    我知道每个数据包都有一些标头 看起来像是字符的随机组合 另一方面 内容本身可以是纯 ascii 格式 因此它可能是人类友好的 我嗅探到的一些数据包是可读的 当然是原始的 html 标头 但有些数据包看起来像这样 0000 00 15 af
  • 合并列数据框

    我有以下数据框 df1 startTimeIso endTimeIso id 2023 03 07T03 28 56 969000 2023 03 07T03 29 25 396000 5 2023 03 07T03 57 08 73400
  • 具有多处理功能的 Tensorflow2.x 自定义数据生成器

    我刚刚升级到tensorflow 2 3 我想制作自己的数据生成器用于训练 使用tensorflow 1 x 我这样做了 def get data generator test flag item list load item list t
  • ActiveRecord:保存多个对象时跳过验证

    我知道我可以跳过单个保存的验证 如下所示 User new name John save validate false 但是 当同时保存多个对象时 我该如何做到这一点呢 像这样 Category create name Apps name
  • 在android应用程序中使用MediaPlayer的正确方法

    抱歉我的英语 但我来自巴西 我使用谷歌翻译 好吧 我在这个应用程序中遇到了困难 我试图制作一个在线广播流媒体 在 2 2 版本中工作正常 但在 4 0 版本中不起作用 没有发生错误 只是不起作用 下面是我的代码 我很感激任何帮助 packa
  • React Native Redux - 对象不是构造函数(评估“new ctor(props context)”)

    这是一个非常简单的页面 正在尝试使用 Redux 请参阅下面的代码 但是我收到错误object is not a constructor evaluating new ctor props context import React Comp
  • 根据所选值更改文本

    我为每个 JavaScript 添加了一个带有文本的元素 有了这个代码 document ready function if welcome page length my element after tr td td td Welcome
  • SQLAlchemy Joinedload过滤列

    您好 我想使用 joinload 对我的查询进行过滤 但我似乎无法让它发挥作用 以下是我的示例查询 result session query Work options joinedload Work company users joined
  • 单个 @RestController 端点的自定义序列化

    有没有一种方法 最好是某种类型的注释 为单个端点注册自定义序列化器 RestController 延伸豆子并放置一个 JsonSerialize这将是一个选项 但这需要一个非常无用的新 bean 类 我尝试了以下方法 JsonSeriali
  • 如何从 google chrome 扩展程序获取 PDF 文件的 URL

    去年 我开发了一个可处理 PDF 文件的 Google 扩展 我使用以下函数来获取 PDF 文件的 URL function getPDFUrl String const e document body firstElementChild
  • R 中的 Vlookup 匹配函数

    我对 R 非常陌生 目前我正在将我对 R 的了解很少应用到我必须执行的工作分析工作中 我有两个数据框 数据框 A 由交易详细信息组成 而数据框 B 由各种货币的月收盘汇率组成 数据框A 交易详情 TRANSACTION ID COLLECT
  • 如何在 RecyclerView.Adapter 中使用共享首选项?

    如何在 RecyclerView Adapter 中使用共享首选项 我在 RecyclerView Adapter 中使用了共享首选项值 但是共享首选项中没有保存任何内容 我必须在 RecyclerView Adapter 或活动中使用共享
  • 您能否在 Ajax (XHR) 调用的服务器端处理过程中可靠地设置或删除 cookie?

    我自己对此做了一些测试 准确地说是在 DWR 框架 Ajax 请求处理程序的服务器端处理期间 看来您可以成功地操作 cookie 但这与我在 Ajax 最佳实践中阅读的很多内容相悖浏览器如何解释来自 XmlHttpRequest 的响应 注
  • 无边框 NSWindow 上的圆角

    我正在创建一个应用程序并且我不需要标题栏 http www usabilitypost com 2010 10 22 no title bar If the title remains the same all the time does
  • 在nodejs中使用断言模块?

    大家好 我正在阅读node官方文档 我看到了 Assert 模块 但不明白它的用法 到目前为止我的结论是就像某些语言的 try catch 示例官方文档不足以让我理解该模块 你们能帮助我吗 这些将用于单元测试 该模块用于为您的应用程序编写单
  • 为什么 PyQt5 项目每次都会收到警告“QStandardPaths: XDG_RUNTIME_DIR not set”

    我正在使用 python 3 6 2 和 Emacs 25 在 Ubuntu 中开发 PyQt5 项目 并且它以 root 权限运行 这工作正常 但我得到了 QStandardPaths XDG RUNTIME DIR not set de