python – 从打包为zip文件的应用程序的命令行运行pdb?

python – 从打包为zip文件的应用程序的命令行运行pdb?,第1张

概述Python能够在zip存档中运行代码.这解释了为什么有些代码从熟悉的#!/usr/bin/env python开始,紧接着是原始zip文件的字节. 参见例如 http://sayspy.blogspot.com/2010/03/various-ways-of-distributing-python.html Python还允许用户通过“-m pdb”选项在命令行的几乎任何代码上方便地运行pyth Python能够在zip存档中运行代码.这解释了为什么有些代码从熟悉的#!/usr/bin/env python开始,紧接着是原始zip文件的字节.
参见例如 http://sayspy.blogspot.com/2010/03/various-ways-of-distributing-python.html

Python还允许用户通过“-m pdb”选项在命令行的几乎任何代码上方便地运行python调试器.但是在压缩程序(如流行的youtube-dl program)上运行它会导致编码错误,如下所示:

$python -m pdb /usr/bin/youtube-dl -h Traceback (most recent call last):   file "/usr/lib/python2.7/pdb.py",line 1314,in main     pdb._runscript(mainpyfile)   file "/usr/lib/python2.7/pdb.py",line 1233,in _runscript     self.run(statement)   file "/usr/lib/python2.7/bdb.py",line 387,in run     exec cmd in globals,locals   file "<string>",line 1,in <module> file "/usr/bin/youtube-dl",line 2SyntaxError: Non-ASCII character '\xdb' in file /usr/bin/youtube-dl on line 3,but no enCoding declared; see http://www.python.org/peps/pep-0263.HTML for details Uncaught exception. Entering post mortem deBUGging Running 'cont' or 'step' will restart the program > <string>(1)<module>() (Pdb)

referenced PEP 263没有谈论zip,我不确定这个zip功能在哪里被正式描述或实现.

所以我的问题是,有没有办法让这个工作为一个任意的zip文件,而不解压缩并在zip内的__main__.py上运行pdb?也许是通过对pdb的增强,还是围绕它的包装?

解决方法 PEP 273 – 从Zip Archives导入模块是一个提出这个问题的提议.

因此,您可以轻松调试Zip存档中的文件

python -c 'import pdb,youtube_dl; print youtube_dl; pdb.runcall(youtube_dl.main,["-h"])' youtube-dl
总结

以上是内存溢出为你收集整理的python – 从打包为zip文件的应用程序的命令行运行pdb?全部内容,希望文章能够帮你解决python – 从打包为zip文件的应用程序的命令行运行pdb?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1197062.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存