python - pdb:自动附加到 sys.path

标签 python pdb

模块化 python 应用程序后,我经常需要将子包的路径添加到 sys.path 中,这对我来说非常烦人。 IE。我目前使用 pdb 的工作流程是

  1. python [my-script] 切换到 python -m pdb [my-script]
  2. 导入系统
  3. sys.path.append([[module-XY]所在子目录的完整路径])
  4. b [模块-XY]:[行]

您对自动化 (2) 和 (3) 有什么建议?我更喜欢按以下顺序的解决方案:

  1. 我可以将其 checkin git,因此它可以自动为每个人/在用于开发的每台设备上工作。
  2. 我可以将其放入 .bashrc 的环境变量或一些设置代码,而不是围绕 pdb 执行一些包装脚本。
  3. 一些虚拟环境设置。

目前我正在考虑在工作目录下递归搜索 python 包并将它们添加到脚本中。关于这个问题有一些最佳实践吗?

最佳答案

好吧,显然解决这个问题的方法是使用 PYTHONPATH 。要么在你的 ~/.bashrc或在 bin/activate您的 virtualenv 的脚本中,通过修改路径来放置您的模块源目录,如下所示:

export PYTHONPATH="${PYTHONPATH}:[MY-PATH-1]:[...]:[MY-PATH-N]"

来源您的bashrc之后或停用/激活您的 virtualenv。通过运行 pdb 并使用 import sys; sys.path 打印所有搜索路径来检查它是否有效。 。

关于python - pdb:自动附加到 sys.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35496298/

相关文章:

python - ipython Notebook调试出现bug时如何更正数值后继续运行?

python-3.x - 列表推导中的 if 子句在 pdb 中给出未定义的名称错误,但在解释器中没有

python - Spark 中使用 Lambda 进行列表转换

python - django - 安排重复任务间隔

python - 一次性处理 django View 中的所有模板问题

python - 如何使用 Azure 函数和 python 写入 blob 容器中的文本文件?

python - 字典理解没有按预期进行

python - Windows 上的 Celery + Django : debugging asynchronous tasks

python - 修改 Python 以在交互模式下接受 continue 语句是个好主意吗?

python - 在 Python 中,有没有办法保存/转储/序列化 PDB 调试 session ?