python - 为什么 P4Python 无法识别 P4CONFIG 设置?

标签 python linux perforce p4python

我有以下代码:

# 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/

相关文章:

python - matplotlib 为单个散点图添加具有多个条目的图例

c - Ncurses 键盘输入

Perforce:如何删除 p4v 拒绝删除的更改列表?

python - 更改 Anaconda 解释器

python - 在仅使用 __unicode__ 方法的 Django 模型上调用 str() 会返回特殊字符的不同编码

linux - 如何在后台运行使用shell的linux应用程序?

git - 初始克隆后扩展 `git-p4` 客户端规范

不同分支和 repo 上的 git-p4 同步

python - 在没有在线 plotly 帐户的情况下使用 plotly

regex - 从正则表达式中提取组