由于@Boris指出的原因完全相同,我有时会使用下面描述的方法:我希望使用某些代码就像a)svn checkout / update-b)一样简单。
但是为了记录:
无论如何,我使用的方法取决于修改sys.path,并且工作方式如下:
组织目录结构如下:
项目/ * .py scriptcustomize.py file.pth
第三方/
蛋/
mako-vNNN.egg
... 。蛋
码/
elementtree \
* .py
...
在您的顶级脚本中,在顶部包含以下代码:
从脚本中定制导入apply_pth_files apply_pth_files()
将scriptcustomize.py添加到您的项目文件夹中:
导入操作系统 从glob导入glob 导入文件输入 导入系统
def apply_pth_files(scriptfilename,at_beginning = False): “”“在脚本顶部: 从脚本中定制导入apply_pth_files apply_pth_files()
“”
目录= os.path.dirname(脚本文件名)
文件= glob(os.path.join(目录,'* .pth'))
如果没有文件:
返回
对于fileinput.input(files)中的行:
行= line.strip()
如果line和line [0]!='#':
路径= os.path.join(目录,行)
如果at_beginning:
sys.path.insert(0,路径)
其他:
sys.path.append(路径)
将一个或多个* .pth文件添加到您的项目文件夹中。在每一行上,对包含软件包的目录进行引用。例如:
我喜欢这种方法。我喜欢的东西:它与* .pth文件的工作方式类似,但是适用于单个程序而不是整个站点程序包。我不喜欢的是:必须在顶级脚本的开头添加两行。