我有以下代码:
# 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
为什么当 shell=False 时 p4 对象无法识别 P4CONFIG 设置?
最佳答案
我遇到了同样的问题。它似乎是 P4Python 中特定于 Linux 的错误。 P4 类正在初始化,当前工作目录设置为“/”而不是实际工作目录。然后,这会阻止 P4 查找 .p4config 文件。
以下解决方法为我修复了它:
p4 = P4.P4(cwd=os.getcwd())
关于python - 为什么 P4Python 无法识别 P4CONFIG 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357173/