2012-08-03 66 views
2

我是新来的大型项目使用python。我想通了,下面的文件夹结构,我的Python项目:大型项目的Python文件夹结构

project 
    --> doc 
    --> src 
     --> hardware 
     --> devices 
       --> device1 
       --> device2 
     --> measurement 
     --> ui 
     --> util 
    --> tests 
     --> hardware 
     --> devices 
       --> device1 
       --> device2 
     --> measurement 
     --> ui 
     --> util 

测试文件夹包含单元测试在索里的文件夹模块。这是一个这样的计划的正确方法吗?

我该怎么做导入?我以为将根文件夹添加到python路径并从根路径中导入每个模块绝对。我应该这样做吗?

该程序用于几个计算机。我应该如何部署它?目前我使用SVN,每台计算机都可以获得整个项目并从那里启动。有一个缺点,我必须在每台计算机上添加主题路径到PYTHONPATH

回答

2

全球结构看起来不错。 您需要一个模块来编写setup.py脚本来安装您的软件包,例如setuptools。这将允许安装和分发包。 另请参阅Pypi分发包装。 通常情况下,您可以:

sudo setup.py install 

在系统级安装软件包。 或者你可以:

sudo setup.py install --prefix=~/local 

在用户级别安装。 但是,您必须将〜/ local/lib/python/site-packages添加到您的PYTHONPATH中。但是这个用户安装的所有软件包只能执行一次。

如果你的包存储PyPI上,你可以在任何机器上做:

easy_install mypackage 

为自动神奇地安装软件包。

更好的是,您可以使用virtualenv使您的软件包仅在孤立的python“虚拟环境”中可见。这允许在同一台计算机上轻松测试各种软件包和版本。

您还可以在软件包根目录级别添加自述文件等。