小编Cro*_*han的帖子

用于Python的CPU Flame图

Brendan Gregg的CPU Flame Graph是一种基于调用堆栈在一段时间内可视化CPU使用情况的方法.

他的FlameGraph github项目提供了一种与语言无关的绘制这些图形的方法:

对于每种语言,FlameGraph都需要一种以如下行的形式提供堆栈输入的方法:

grandparent_func;parent_func;func 42
Run Code Online (Sandbox Code Playgroud)

这意味着检测程序被观察到运行函数func,其中parent_func调用它从顶级函数调用grandparent_func.它说调用堆栈被观察了42次.

如何从Python程序中收集堆栈信息并将其提供给FlameGraph?

对于奖励积分:如何扩展以便显示C和Python堆栈,甚至是Linux上的内核(与Brendan网站上的某些Java和node.js火焰图类似)?

在此输入图像描述

c python performance visualization linux-kernel

28
推荐指数
1
解决办法
1929
查看次数

用于语音检测和鉴别的开源代码

我有15个录音带,其中一个我认为包含了我祖母和我自己说话的旧录音.寻找合适地点的快速尝试并未将其提升.我不想听20个小时的磁带来找到它.该位置可能不在其中一个磁带的开头.大多数内容似乎分为三类 - 按总长度排列,最长的是:静音,语音广播和音乐.

我计划将所有磁带转换为数字格式,然后再次查看录制内容.显而易见的方法是在我做其他事情时在后台播放它们.这对我来说太简单了,所以:是否有任何开源库或其他代码可以让我找到,以便提高复杂性和实用性:

  1. 非沉默区域
  2. 包含人类语音的区域
  3. 包含我自己演讲的地区(和我祖母的演讲)

我更喜欢Python,Java或C.

由于我对该领域一无所知,因此未能得到答案,关于搜索词的提示将受到赞赏.

据我所知,我可以轻松地花20多个小时.

speech-recognition speech

24
推荐指数
4
解决办法
3万
查看次数

使用gdb 7支持调试Python程序需要什么?

我想使用gdb 7的支持来调试Python"劣质进程".

我需要做什么?

例如:

  • 下级Python的配置脚本需要运行哪些标志?

  • 劣质Python进程是否必须是Python 2.7或更高版本(我看到gdb支持的部分是在Python源代码树中提交的那个)?或者只是gdb进程本身需要Python 2.7?

  • 需要安装哪些文件可能未被所有发行版打包?例如,在packages.ubuntu.com上,我没有获得python-gdb.py的任何命中,我相信这是必需的.

知道特定发行版需要什么是非常方便的.我对Ubuntu和Centos需要什么特别感兴趣.

python debugging ubuntu gdb centos

15
推荐指数
1
解决办法
1万
查看次数

“SAWarning:事务已与连接解除关联”是什么意思?

SQLAlchemy 事务如何与连接解除关联?我应该做什么来防止这种情况发生?

python sqlalchemy

7
推荐指数
1
解决办法
2572
查看次数

如何在 pyproject.toml 中指定 setuptools 入口点

我有一个像这样的 setup.py :

#!/usr/bin/env python

from setuptools import setup, find_packages

setup(
    name="myproject",
    package_dir={"": "src"},
    packages=find_packages("src"),
    entry_points={
        "console_scripts": [
            "my-script = myproject.myscript:entrypoint",
        ],
    },
)
Run Code Online (Sandbox Code Playgroud)

如何entry_points使用 setuptools 在 pyproject.toml 中编写该配置?

我猜测类似这样的事情,继续setuptools 的 pyproject.toml 文档,它说我需要在引用入口点的文档之后使用“INI 格式” ,但它似乎没有给出示例,我的猜测关于如何将 setuptools 语法与 pyproject.toml 语法结合起来是错误的(我从pip install -e .该报告中得到了回溯pip._vendor.tomli.TOMLDecodeError: Invalid value,指向entry-pointspyproject.toml 中的行):

[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[metadata]
name = "myproject"

[tool.setuptools]
package-dir = {"" = "src"}

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.dynamic]
entry-points …
Run Code Online (Sandbox Code Playgroud)

python program-entry-point setuptools python-packaging pyproject.toml

6
推荐指数
1
解决办法
4760
查看次数

如何在不合并或变基的情况下解决分支上的 git 冲突

我通常的功能/错误分支工作流程是这样的:

  • 分支
  • 做出改变
  • 变基为主
  • 推送并发出 github 拉取请求 (PR)
  • 进行更多更改
  • 其他人审查代码并单击 github 合并按钮

假设无法点击 PR 上的合并按钮,因为我的功能分支现在与 master 发生冲突。在这一点上,我通常想解决与 master 的冲突,我想在我的功能分支上这样做,这样我就可以让正在审查我的代码的人看到:

  1. 一个不错的差异,没有合并提交和/或来自 master 的随机更改
  2. 我的冲突解决方案
  3. 他们可以点击的合并按钮

但是,我可能不想变基,因为代码审查已经在进行中(有时我无论如何都要变基,但有时我想避免它)。

我如何可靠有效地使用 git 来实现这一目标?

我目前所做的是这些事情的混合:

  • “只知道”需要挑选或改变什么来解决冲突(有时......)
  • 试用合并 ( git merge master; (查看哪个文件有冲突,然后 git annotate 以找到相关的提交); git reset --hard origin/my-feature-branch; git cherry-pick <some commit>(或者可能手动进行一些更改); (重复))

有时这不起作用,因为冲突是空的,所以我不知道要注释什么才能找到正确的提交。 编辑:事实上,在空冲突的情况下,我想如果没有合并或变基是不可能解决的(但在其他情况下是可能的——见下面的例子)。

当它起作用时,似乎 git 可以以更自动化的方式帮助我完成很多工作。

我也试过git-imerge——这似乎不是专门为此目的而设计的,它也以未处理的异常退出。

这是一个具体的工作示例,因为这里的答案存在怀疑,即有时可以解决我在此处描述的分支上的冲突而无需合并或重新定位(请注意,这并未显示上述工作流程的每个步骤,并且仅演示“在不合并或变基的情况下解决分支上的冲突”部分):

$ mkdir -p conflict-example/upstream
$ cd conflict-example/upstream
$ git init .
Initialised empty Git repository in /tmp/conflict-example/upstream/.git/
$ …
Run Code Online (Sandbox Code Playgroud)

git github git-merge

5
推荐指数
1
解决办法
7242
查看次数

如何在高山中使用Python的readline

当我apk add python3在运行alpine发行版的Docker容器中时,像这样的组合键Ctrl <left arrow>,而不是按整个单词移动光标,而是打印以下内容(在这里,我输入了“垃圾邮件鸡蛋”,然后按住控制并按下向左箭头键):

Python 3.5.1 (default, Dec  9 2015, 14:41:32) 
[GCC 5.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> spam ham;5D
Run Code Online (Sandbox Code Playgroud)

只是apk add荷兰国际集团readlinepip3 install荷兰国际集团它本身并不解决问题。

在这种环境下,如何在Python中使用readline?

python readline docker alpine-linux

2
推荐指数
1
解决办法
1249
查看次数