2

我正在开发一个开源 Python 项目,其中包含大量(并且稳步增加)的演示程序。

我将演示程序移到了一个名为 的子目录demo/中,但是您当然不能直接运行它们 - 如果这样做,Python 会将demo/子目录作为您的根目录,并且您的所有项目导入都会失败。

我的解决方法是在顶层编写一个 Demo.py 程序,让您选择要运行的演示,但是该项目的其他开发人员和用户(相当合理地)抱怨必须这样做 - 他们只是想运行他们的演示直接。

我对此没有很好的解决方案。我最好的想法是将这样的代码块放在每个演示文件的顶部:

if __name__ == '__main__':
  import sys
  from os.path import dirname
  sys.path.append(dirname(dirname(__file__)))

这似乎确实有效,尽管它不优雅。

  1. 有更好的解决方案吗?
  2. 如果没有,我应该注意这个解决方案中是否有任何明显的陷阱?
4

1 回答 1

0

汤姆,我会把这些信息放在这里,以防它对其他人有任何用处:可能会引导你做一些建设性的事情,但是.. 我发现无法为 demos 目录中的文件生成文档。任何一个

pydoc demos/Blur.py

或者

python -m pydoc -w demos/Blur.py

只需运行该文件。即他们做你想要的。但是我无法获得任何文件。它适用于所有其他目录!

稻田

于 2013-01-13T23:37:20.320 回答