2

Python 版本:2.7.8 P4Python 版本:P4PYTHON/NTX86/2014.1/807760 (2014.1/807760 API) (2014/03/18) 客户端操作系统:Win2k8 服务器

Python脚本:

from P4 import P4, P4Exception
p4agent = P4()
p4agent.port = "ssl:my-perforce-server.com:1666"
p4agent.user = "abc"
p4agent.password = "a$3"
p4agent.connect()
p4agent.run_login()

输出:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\PythonSync\P4Sync.py", line 44, in <module>
    getLatestRevision()
  File "C:\Users\Administrator\Desktop\PythonSync\P4Sync.py", line 41, in getLatestRevision
    initP4()
  File "C:\Users\Administrator\Desktop\PythonSync\P4Sync.py", line 36, in initP4
    p4agent.connect()
  File "c:\python27\lib\site-packages\P4.py", line 678, in connect
    P4API.P4Adapter.connect( self )
P4Exception: [P4.connect()] Connect to server failed; check $P4PORT.
SSL library must be at least version 1.0.1.

p4agent.identify() 输出:

Perforce - The Fast Software Configuration Management System.
Copyright 1995-2014 Perforce Software.  All rights reserved.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/)
See 'p4 help legal' for full OpenSSL license information
Version of OpenSSL Libraries: OpenSSL 1.0.1d 5 Feb 2013
Rev. P4PYTHON/NTX86/2014.1/807760 (2014.1/807760 API) (2014/03/18).

OpenSSL (lib) 的路径在 Path 变量中设置。

我还在客户端机器上检查了“p4 set”(我试图从那里连接到 perforce 服务器),我看到所有环境变量都已正确设置。

有人可以让我知道如何解决这个问题吗?

4

1 回答 1

0

我相信问题在于您链接到了错误的 Openssl 库。P4.identify() 的输出具有误导性:这是编译 API 时使用的 OpenSSL 版本,而不是您链接的版本。

你从哪里得到那个版本的 P4Python?你是自己编译的还是从其他网站下载的?

如果您想为 Windows Python 2.7 和 3.4 32 位和 64 位使用现成的 P4Python 版本,请查看https://swarm.workshop.perforce.com/projects/p4pythonlib/files/p4pythonlib/bin。如果您对这些构建有任何问题,请告诉我。

于 2014-12-11T22:42:19.987 回答