2009-11-25 34 views
5

Tôi không chắc tại sao tôi nhận được lỗi này đang chấm dứt kết nối của tôi. Tôi cập nhật paramiko-1.7.6 từ 1.7.5 qua easy_install.Lỗi vải Không có trình xử lý nào có thể được tìm thấy cho trình ghi "paramiko.transport"

Tôi đang cố gắng thiết lập Vải để tải ứng dụng Django lên máy chủ của mình. Lỗi này có vẻ xảy ra khi tôi cố gắng để làm cho một bản sao lưu của thư mục ứng dụng hiện tại:

def backup_current_install(): 
    now = datetime.datetime.now() 
    cmd="cp -r /home/path/django-projects/app /home/path/django-projects/app%s" % now.strftime("%Y%m%d_%I:%M:%S") 
run(cmd) 

tôi đã thiết lập:

env.hosts 
env.password 

Trong fabfile và tôi không chắc chắn làm thế nào để điều hướng này lỗi xử lý.

+0

Bạn có thể vui lòng đăng toàn bộ ngoại lệ hoặc văn bản cảnh báo khiến chương trình thoát hoặc chấm dứt kết nối của bạn không? – jathanism

+0

Tôi sẽ tìm thông tin này ở đâu? Đoạn trích tôi đã sao chép là tất cả những gì tôi thấy. – BryanWheelock

+0

Khi bạn thực thi 'run (cmd)' trong tập lệnh, đầu ra bạn đang thấy là gì? Nó được hiển thị dưới dạng cảnh báo hoặc lỗi? – jathanism

Trả lời

9

Nó chỉ ra rằng lỗi này là kết quả của tôi không cấu hình env.password dưới dạng chuỗi đơn giản.

Cả hai env.userenv.password phải là các chuỗi đơn giản, không phải Danh sách. Documentation

2

Nếu không gây ra sự cố, bạn có thể bỏ qua thông báo này một cách an toàn.

Trong trường hợp này, thư viện (paramiko), dự kiến ​​ứng dụng sẽ xử lý việc ghi nhật ký. Tuy nhiên, lập trình viên ứng dụng có thể dự kiến ​​thư viện sẽ không có bất kỳ tác dụng phụ nào và xử lý việc ghi nhật ký đúng cách.

Xem Configuring Logging for a Library.

+0

lỗi là chấm dứt kết nối – BryanWheelock

+4

Đó là nhiều khả năng theo cách khác xung quanh - kết nối của bạn đang được chấm dứt, và paramiko đang cố gắng để đăng nhập lỗi. Thông điệp đó được in ra bàn điều khiển, nhưng không có bất kỳ ngoại lệ nào được nêu ra. – JimB

+3

"bạn có thể bỏ qua thông báo này một cách an toàn". Điều này không thực sự đúng. Đầu ra có thể có ý nghĩa và hiển thị lỗi trong chương trình của bạn. Để tìm ra thông báo lỗi, bạn có thể chèn 'nhập nhật ký; logging.getLogger ('paramiko.transport'). addHandler (logging.StreamHandler()) 'ở đầu fabfile của bạn và nó sẽ hiển thị thông báo tường trình. – sitaktif

0

Ngoài các câu trả lời trước:

Nếu bạn muốn tìm một nguyên nhân gốc rễ của các lỗi trong ứng dụng của bạn đó là hữu ích để cho phép khai thác gỗ được tín hiệu đèn bằng thông điệp:

Vải lỗi Không có trình xử lý nào có thể tìm thấy cho trình ghi “paramiko.transport”

Bạn có thể bật ghi nhật ký từ vải trong vải như sau:

from fabric.network import ssh 

ssh.util.log_to_file("paramiko.log", 10) 
Các vấn đề liên quan