首页 > 解决方案 > python-pyinstrument 缺少 javascript 依赖项

问题描述

我正在尝试使用 pyinstrument 分析一个 python 程序,但是在尝试在 html 中呈现配置文件时它一直抛出这个错误。

Traceback (most recent call last):
  File "/home/ananda/projects/product_pred/025200812_cpall_ai_ordering_model_v2/.venv/bin/pyinstrument", line 8, in <module>
    sys.exit(main())
  File "/home/ananda/projects/.venv/lib/python3.8/site-packages/pyinstrument/__main__.py", line 304, in main
    output_filename = renderer.open_in_browser(session)
  File "/home/ananda/projects.venv/lib/python3.8/site-packages/pyinstrument/renderers/html.py", line 70, in open_in_browser
    f.write(self.render(session))
  File "/home/ananda/projects/.venv/lib/python3.8/site-packages/pyinstrument/renderers/html.py", line 25, in render
    raise RuntimeError(
RuntimeError: Could not find app.js. If you are running pyinstrument from a git checkout, run 'python setup.py build' to compile the Javascript (requires nodejs).

看来我没有nodejs,所以我尝试安装它,sudo apt install nodejs但我遇到了同样的错误。

我知道错误要求我运行python setup.py build,但我什至没有我的 repo 的 setup.py 文件,所以我不确定应该做什么。我是从 pyinstrument 的安装文件夹中运行它吗?我试着去那里,但我也找不到 setup.py 文件(在 下.venv/lib/python3.8/site-packages/pyinstrument

我试图运行的文件是一个简单的脚本,所以我认为这并不重要。

import time

time.sleep(2)
print("hello, world")

我运行程序的方式是这样的——

pyinstrument -r html src/jobs/evaluator.py

如果我尝试在不使用 html 渲染的情况下运行 pyinstrument pyinstrument src/jobs/evaluator.py,它可以工作,但输出在终端中,我真的很喜欢 html 输出。

我想我只是在这里缺少一些 javascript 依赖项,但我不确定要安装什么或如何安装它。

我正在使用以下版本 -

python 3.8.10
pyinstrument 4.0.0
node v8.10.0
OS - Pop!_OS 18.04 LTS

谢谢您的帮助!

标签: javascriptpythonnode.jspython-3.xprofiling

解决方案


在做了一些搜索之后,我发现了一个github issuepyinstrument完全相同的错误,似乎他们在更新中修复了它(4.0.2)。尝试更新您的 pyinstrument 版本,让我知道它是否有效!

4.0.2注意:如果您在升级到另一个github 问题后最终遇到错误,维护者目前正在修复,所以不幸的是,您要么必须找到可以工作的早期版本,要么您将必须等待开发商修复它。


推荐阅读