首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动附加到sys.path

自动附加到sys.path
EN

Stack Overflow用户
提问于 2016-02-19 02:32:57
回答 2查看 1.2K关注 0票数 2

在对python应用程序进行模块化之后,我不得不不断地将子包的路径添加到sys.path中,这让我感到非常恼人。也就是说,我使用pdb的工作流程当前是

  1. python [my-script]切换到python -m pdb [my-script]
  2. import sys
  3. sys.path.append([full path to subdirectory where [module-XY] lies])
  4. b [module-XY]:[line]

你对自动化(2)和(3)有什么建议?我希望按以下顺序提供解决方案:

  1. 一些我可以签入git的东西,所以它会自动地工作在每个人身上/在每一个用于开发的设备上。
  2. 一个环境变量或一些设置代码,可以放到我的.bashrc中,而不是围绕pdb执行一些包装脚本。
  3. 一些虚拟的安装程序。

目前,我正在考虑在working下面递归地搜索python包,并将它们添加到脚本中。在这个问题上有什么最佳做法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-09 02:48:00

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

代码语言:javascript
复制
export PYTHONPATH="${PYTHONPATH}:[MY-PATH-1]:[...]:[MY-PATH-N]"

之后请使用bashrc,或者禁用/激活您的虚拟主机。通过运行pdb并使用import sys; sys.path打印所有搜索路径来检查它是否工作。

票数 3
EN

Stack Overflow用户

发布于 2020-05-25 06:10:30

另一种方式(取决于使用可能有点不方便):

始终使用完整路径指定断点。

代码语言:javascript
复制
b foo/bar/bar:39

注意:不需要.py文件扩展名来指定断点。

注意:像b foo.bar.bar:39一样编写它不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35496298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档