2012-04-27 2 views
1

я следующий код:Почему P4Python не распознает настройку P4CONFIG?

# script0.py 
def main(): 
    p4 = p4python.P4.P4() 
    p4.connect() 
    print os.environ['P4CONFIG'] 
    print p4.p4config_file 
    p4.disconnect() 

, который вызывается с помощью:

# script0_test.py 
subprocess.check_call(['script0.py']) 

и вывода:

.p4config 
noconfig 

Когда script0.py вызывается из командной строки или если используется subprocess.check_call (shell = True), он выводит правильную информацию:

.p4config 
/home/nyap/proj/.p4config 

Почему объект p4 не распознает параметр P4CONFIG, когда shell = False?

ответ

0

Из командной строки, что делает p4 set показать для P4CONFIG? Если его там нет, вам нужно будет сделать p4 set P4CONFIG=".p4config" (в Windows или OS X). Если ваш вывод p4 set уже перечисляет P4CONFIG, тогда я не знаю ... Если вы находитесь в Linux, p4 set manpage говорит, что он отобразит соответствующие переменные среды, но вы не можете их установить. В таком случае я не знаю.

+0

os.environ ['P4CONFIG'] ясно показывает, что установлен P4CONFIG. –

+0

Итак, вы на Linux? –

+0

Да. Почему бы OS вопрос, учитывая os.environ ['P4CONFIG'] говорит, что P4CONFIG установлен? –