2014-11-28 2 views
2

версии Python: 2.7.8 P4Python версии: P4PYTHON/NTX86/2014,1/807760 (2014,1/807760 API) (2014/03/18) Клиента ОС: Win2k8 серверовне удается подключиться к серверу неволей Ssl поддержки с использованием p4python

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), и я вижу, что все переменные среды правильно установлены.

Может кто-нибудь, пожалуйста, дайте мне знать, как разрешить это?

+0

Я не вижу протокол ('ssh:'), определенный в API-интерфейсе python. Может ли быть указано, что указание протокола не поддерживается в API Python? Не могли бы вы попробовать без 'ssh:'? –

+0

Я пытаюсь ssl, а не ssh – user756825

+0

Да, извините, это была просто опечатка. –

ответ

0

Я считаю, что проблема в том, что вы связываетесь с неправильной библиотекой Openssl. Результат P4.identify() вводит в заблуждение: это версия OpenSSL, с которой был скомпилирован API, а не версия, с которой вы связываете.

Откуда у вас эта версия P4Python? Вы сами скомпилировали его или загрузили с другого сайта?

Если вы хотите использовать готовые версии P4Python для Windows Python 2.7 и 3.4 32bit и 64bit, пожалуйста, посмотрите на https://swarm.workshop.perforce.com/projects/p4pythonlib/files/p4pythonlib/bin. Сообщите мне, есть ли у вас проблемы с этими сборками.