如何在 Linux 上 运行 pyRAPL

How to run pyRAPL on Linux

我正在 Linux 机器上工作。 我需要将 pyRAPL 与 python3.8 一起使用。 我已经安装了 pyRAPL。安装成功。 我进入了解释器 (Python3.8) 并进行了检查。它导入。

PermissionError: [Errno 13] Permission denied: ’/sys/class/powercap/intel-ra[l/intel-rapl:0/energy_uj'

所以为了解决这个错误,我 运行 将代码设为 sudo python3.8 foo.py,但是当我这样做时,我得到了 numpy 的 module not found 错误。

现在导入哪个模块都不重要了。当我 运行 使用 sudo python3.8 foo.py 命令的代码时,无论哪个模块位于我的 python 脚本的第一行,它都会接受它,并抛出“找不到模块”错误。 (是的,我对此进行了测试)。

所以这不是一个特定于 NumPy 的问题。

现在我可以 运行 代码,就像 python3.8 foo.py 一样,但这会给我 pyRAPL 文件权限错误。我需要为我的项目使用 pyRAPL 库,所以我不能只注释掉它然后继续。

所以我陷入了一个循环。

没有sudo=pyRAPL文件权限错误。

是 sudo = 找不到模块错误。

请帮帮我

您报告了两个问题。

  1. 可以使用 $ sudo chmod -R a+r /sys/class/powercap/intel-rapl 或类似的命令 $ sudo chown -R energy /sys/class/powercap/intel-rapl.
  2. 解决权限错误
  3. 可以通过确保 root 使用与您的能源用户相同的 $PATH 来修复未找到错误。

与其对整个服务器进行全局安装, 考虑使用 conda。 那么调整 PATH 就是 $ conda activate my-rapl-env 的问题了, 不管你是root还是普通用户。