在Slack中协同调试Python应用程序
项目描述
Slackpdb是rpdb的一个变种,它不是通过打开端口允许您通过telnet进行调试,而是连接到一个可配置的Slack频道,这样您就可以远程协作调试应用程序。
import slackpdb
slackpdb.set_trace(
token="<your slack token>",
channel="#debugger_hangout",
)
当达到 set_trace() 时,您的脚本将“挂起”,唯一使其继续运行的方法是通过与连接到上述IRC频道的用户交谈来访问slackpdb。
要与调试器交互,只需在频道中发送以它宣布的用户名作为前缀的消息,或者简单地发送“!”。
例如,以下两个命令是等效的,每个都会显示pdb帮助屏幕(请确保将‘MyHostname’替换为机器人选择的任何用户名)
!help
slackpdb: help
安装
从 pip
pip install slackpdb
选项
token:用于连接到Slack的令牌;如果您没有,您可以在 https://my.slack.com/services/new/bot 快速生成一个。请注意,如果没有指定,它可能来自 SLACKPDB_API_TOKEN 环境变量,或者,如果 django 选项设置为 True,则来自名为 SLACKPDB_API_TOKEN 的Django设置。
channel (必需):频道的名称(以 # 开头)。
limit_access_to: 允许与调试器交互的昵称列表。
activation_timeout: 在断开连接并继续执行之前,等待最多多少秒,以便有人与该通道中的调试器进行交互。默认值:60秒。
django: (默认:False)如果未指定,则尝试从名为SLACKPDB_API_TOKEN的django设置中收集Slack API令牌。
安全免责声明
此库的工作方式本质上是危险的;鉴于您能够从调试器中执行任意Python代码,强烈建议您采取一切合理措施来确保您控制谁能够执行调试器命令。
为了确保这一点非常明确:您负责确定您能够接受的风险水平,并采取适当的行动来减轻该风险。
如库的许可证中明确和响亮地声明的那样(参见包含的LICENSE.txt)
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
祝您好运,调试愉快!
故障排除
如果您看不到机器人进入您指定的通道,请尝试通过在您的跟踪上方添加以下行来增加日志级别,以收集有关连接到IRC服务器时可能发生的问题的一些更多信息
import logging
logging.basicConfig(filename='/path/to/somewhere.log', level=logging.DEBUG)
项目详细信息
slack-pdb-2.0.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 08ccefdc212153ea74fe774a9d43f4037a694e9ba65be667fe9c42de02bfc167 |
|
MD5 | af6eafa4fe64e822a207b42211e12ffa |
|
BLAKE2b-256 | b6bd862b7ceac2c5a2bc299b9558bc19305dd3ba476cd30fd58dfdf6863a7552 |