【问题标题】:how to profile PyPy with vmprof?如何使用 vmprof 分析 PyPy?
【发布时间】:2020-08-03 02:12:10
【问题描述】:

我阅读了https://vmprof.readthedocs.io/en/latest/vmprof.html 中的 vmprof 文档 我尝试使用 cmd 来教授 pypy:

 pypy -m vmprof --web  hello.py

然后我返回:

/usr/bin/pypy: No module named vmprof

我试试

pip install vmprof 

然后

 pypy -m vmprof --web  hello.py

但是还不行! 我完全糊涂了,谁能告诉我该怎么办??? 正确的方法在哪里?

------- 次日更新 ---------- 啊哈,现在我找到了出路!

克隆这个 git 仓库

https://github.com/vmprof/vmprof-python.git

还有那个

cd vmprof
cd vmprof-python/
pypy setup.py install

现在你发现你的 pypy 现在有模块 vmprof 了!

但我遇到了一个新问题,有人知道如何解决吗?

xxx@yyy:~$  pypy -m vmprof  hello.py

Traceback (most recent call last):
  File "/usr/lib/pypy/lib-python/2.7/runpy.py", line 176, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/pypy/lib-python/2.7/runpy.py", line 73, in _run_code
    exec code in run_globals
  File "/usr/local/lib/pypy2.7/dist-packages/vmprof-0.4.15-py2.7.egg/vmprof/__main__.py", line 75, in <module>
    main()
  File "/usr/local/lib/pypy2.7/dist-packages/vmprof-0.4.15-py2.7.egg/vmprof/__main__.py", line 53, in main
    args.lines, native=native)
  File "/usr/local/lib/pypy2.7/dist-packages/vmprof-0.4.15-py2.7.egg/vmprof/__init__.py", line 72, in enable
    _vmprof.enable(fileno, period, memory, lines, native, real_time)
VMProfError: Invalid argument

我正在使用 wsl(Linux 的 Windows 子系统),版本是

xxx@yyy:~$  cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

我的皮皮

xxx@yyy:~$ pypy
Python 2.7.13 (5.10.0+dfsg-3build2, Feb 06 2018, 18:37:50)
[PyPy 5.10.0 with GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>>

【问题讨论】:

  • 什么版本的 PyPy?您可能需要签出不同版本的 vmprof 才能使用该版本的 pypy,但我不确定映射。
  • WSL 是否支持 libunwind?
  • @mattip hi,PyPy 的版本是 PyPy 5.10.0。它应该根据 vmprof 的文档工作,请参阅链接,vmprof.readthedocs.io/en/latest/vmprof.html#requirements
  • @mattip vmprof gitbub 中的另一个 open issue 也有同样的问题,所以我猜关键是 WSL 不支持使用 vmprof 分析 pypy?我不确定。请参阅链接,_vmprof.enable Invalid argument on Ubuntu 18.04 on WSL

标签: profiler pypy vmprof


【解决方案1】:

你确定你的 pip 对应于 pypy 而不是 vanilla python 吗?试试

pypy -m pip install vmprof

【讨论】:

  • 为此,您可能需要运行pypy3.8 -m ensurepip
猜你喜欢
  • 1970-01-01
  • 2013-06-25
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
相关资源
最近更新 更多