2017-05-22 62 views
1

我有一個很大的C/C++項目,有很多設置。爲了簡化不同變體和配置的構建過程,我以模塊的形式編寫了Python腳本。如何正確使用項目內的幫助模塊?

所以在項目根目錄我有這個helpers文件夾。我需要設置我的工作環境中的唯一一件事就是我PYTHONPATH變量設置爲我的Git的根文件夾:

export PYTHONPATH=$(git rev-parse --show-toplevel) 

這使我獲得我的幫助模塊,但我懷疑這是最好的選擇。

這將是一個很好的選擇嗎?

+0

這是怎麼回事?把它放在你的一個啓動文件中,比如'.bash_profile'。 – cdarke

+0

我不知道我覺得這樣做不是一個好主意。 – nowox

回答

1

一種替代方法是將模塊組織爲命令。

你可以做一個主腳本,說main.py,並鏈接到它在你的bin

[email protected]:home/user/bin$ ln ~/my_module/main.py buildhelper 

然後讓main.py可執行:更改其權限,並添加#!/usr/bin/env python作爲其第一行。

[email protected]:~/$ chmod 755 ~/my_module/main.py 

現在您可能需要您的腳本來解析控制檯參數以調用不同的功能。你main.py可能看起來像:

import my_module 
import sys 

def setup(*args): 
    pass 

def build(*args): 
    pass 

if __name__ == '__main__': 
    if len(sys.argv) == 1: 
     print("No function requested") 

    elif sys.argv[1] == 'setup': 
     setup(*argv[1:]) 

    elif sys.argv[1] == 'build': 
     build(*argv[1:]) 

    else: 
     print("Invalid function") 

然後,將通過這樣的命令調用你的模塊的功能:

[email protected]:/anywhere$ buildhelper setup 
[email protected]:/anywhere$ buildhelper build 

優點

  • 作品從任何地方
  • 可重複使用另一個項目
  • 清潔

缺點

  • 作品來自世界各地:可能是矯枉過正,如果腳本是過於具體項目
  • 可能需要額外的工作來組織模塊作爲命令