You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器内P4实例run_login()后password属性未更新致命令失败

Docker容器中P4Python调用run_login()后password属性未同步问题

在Docker容器内,对已连接的P4实例调用run_login()方法时,ticket文件能正常更新,但实例的password属性未同步更新,导致后续需要有效ticket的命令(如p4.run_fstat())执行失败。容器外执行相同操作时,ticket文件更新的同时password属性会自动同步为ticket值。

容器内已正确配置以下P4环境变量:

  • P4CONFIG
  • P4TRUST
  • P4TICKETS

手动将p4.password修改为ticket文件中的最新值后,p4.run_fstat()可正常运行。且容器内外的p4python与Python版本完全一致。

复现代码示例

(----) bash-4.4# python
Python 3.12.5 (main, Aug 14 2024, 05:08:31) [Clang 18.1.8 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import P4
>>> p4 = P4.P4()
>>> p4.password
'<P4CONFIG defined password>'
>>> p4.connect()
P4 [----] connected
>>> p4.run_login()
[{'User': '----', 'TicketExpiration': '----'}]
>>> p4.password
'<P4CONFIG defined password>'
>>> p4.run_fstat("//barf")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/----/lib/python3.12/site-packages/P4.py", line 530, in <lambda>
    return lambda *args, **kargs: self.run(cmd, *args, **kargs)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/----/lib/python3.12/site-packages/P4.py", line 647, in run
    raise e
  File "/----/lib/python3.12/site-packages/P4.py", line 641, in run
    result = P4API.P4Adapter.run(self, *flatArgs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
P4.P4Exception: Perforce password (P4PASSWD) invalid or unset.
>>> p4.run_fstat("//valid/depot/path.txt")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/----/lib/python3.12/site-packages/P4.py", line 530, in <lambda>
    return lambda *args, **kargs: self.run(cmd, *args, **kargs)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/----/lib/python3.12/site-packages/P4.py", line 647, in run
    raise e
  File "/----/lib/python3.12/site-packages/P4.py", line 641, in run
    result = P4API.P4Adapter.run(self, *flatArgs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
P4.P4Exception: Perforce password (P4PASSWD) invalid or unset.
>>>

内容的提问来源于stack exchange,提问作者hz3d

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 19:33:26