модуль 'pysftp' не имеет атрибута 'Connection' в python 3.6 - PullRequest
0 голосов
/ 09 марта 2020

Я хотел бы отправить файл через sftp с python3 .6.5. Я пытаюсь с пакетом pysftp, который, кажется, является справочным.

do c говорит, что последняя версия 0.2.9 (выпущена в 2016 году) была проверена на Python 3.4 не выше (вполне логично c на то время). Я прочитал некоторые комментарии о том, что это работает для 3.6. Я скачал пакет и попытался использовать его, но получил эту ошибку: AttributeError: модуль 'pysftp' не имеет атрибута 'Connection'

Не могу понять, почему .. Кто-то может мне помочь или есть другой sftp пакет? Большое спасибо!

Вот мой код:

import pysftp
with pysftp.Connection(host=hote, username=nom, password=mdp) as sftp:
    print("Connection succesfully established ... ")

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Это работает для меня:

import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None 
with pysftp.Connection(host='demo.wftpserver.com',username='demo-user',password='demo-user',port=2222,cnopts=cnopts) as sftp:
    print("Connection succesfully established ... ")


Result:  Connection succesfully established ... 

Я использовал publi c и демонстрационный сервер для проверки соединения; и добавил опцию, чтобы игнорировать проверку ключа хоста. Моя python версия 3.6.5 на Ма c Мохаве 10.14.6

Python 3.6.5 :: Anaconda, In c.

НО удалить настройку hostkeys Нет, когда вы подключаетесь к доверенному хосту. Поскольку это важно по соображениям безопасности.

0 голосов
/ 11 марта 2020

Как сказано выше, pysftp отлично работает с python 3.6. Проблема не была связана с самим пакетом pysftp. Пакет был установлен неправильно. Я скачал его без пункта.

Так что python -m pip install pysftp решил проблему.

...