用于处理根目录中组织的项目和应用程序的实用程序。
projd的Python项目详细描述
##简介
这个想法的灵感来自git和django,它们假设项目是有组织的 在一个目录中。许多其他应用程序和项目都是这样工作的,比如 Ruby on Rails和Maven。
许多项目,如源代码存储库、web应用程序等,存储 代码、配置、脚本、虚拟环境等的相对位置 到项目或应用程序的根目录。
当脚本、应用程序、可执行文件、二进制文件、程序或命令 执行时,它需要找到它应该执行的项目的根目录 操作。例如,git status仅在从内部调用时才起作用 一个git存储库。或者,djangomanage.py脚本可以从 在任何地方,它都知道如何操作它所在的web应用程序。
在项目命令中有两个子组织原则,基于 如何找到项目的根目录:
- 在“cwd”方法中,代码和可执行文件可以找到 基于当前工作目录的项目。例如,在 git存储库,首先必须cd到存储库目录中的某个位置 树
- 在“which”方法中,以djangomanage.py脚本、代码和 可执行文件根据可执行文件本身的路径查找项目为了 例如,djangomanage.py脚本希望位于 项目。
“cwd”方法的一个优点是可以使用一组二进制文件 有多个项目。
“which”方法的一个优点是可以从 任何地方。另一个优点是不同版本的代码/二进制文件可以 与每个项目关联。这对于部署 应用程序的多个版本。
##贡献
可以在github上提出请求。
##要求
- 可能是Python2.7(因为这是它唯一测试过的版本)。
##安装
从pypi.python.org安装
使用pip下载并安装:
pip install projd
###从github.com安装
使用github,可以克隆并安装特定版本的软件包:
cd ~ git clone git@github.com:todddeluca/projd.git cd projd python setup.py install
或者使用pip:
pip install git+git://github.com/todddeluca/projd.git#egg=projd
用法
有两个函数用于根据 包含特定令牌、文件或目录的根目录。一个 函数基于当前工作目录工作。
例如,要查找git存储库的根目录,可以这样做:
import projd root = projd.cwd_token_dir(‘.git’)
查找包含正在执行的脚本的项目的根目录 (类似于django manage.py文件的工作原理),可以做到:
import projd root = projd.script_token_dir(‘.git’)