Có điều gì đó tương tự như Pylint, mà sẽ xem xét một kịch bản Python (hoặc chạy nó), và xác định phiên bản của Python mỗi dòng (hoặc chức năng) yêu cầu?Công cụ để xác định phiên bản Python thấp nhất được yêu cầu?
Ví dụ, việc sử dụng lý thuyết:
$ magic_tool <EOF
with something:
pass
EOF
1: 'with' statement requires Python 2.6 or greater
$ magic_tool <EOF
class Something:
@classmethod
def blah(cls):
pass
EOF
2: classmethod requires Python 2.2 or greater
$ magic_tool <EOF
print """Test
"""
EOF
1: Triple-quote requires Python 1.5 of later
Là một điều như vậy có thể? Tôi cho rằng cách đơn giản nhất là có tất cả các phiên bản Python trên đĩa, chạy tập lệnh với từng cái và xem lỗi nào xảy ra.
+1 Đây là một câu hỏi hay. Tôi đã tìm kiếm một cái gì đó như thế này gần đây. – Zifre
Chắc chắn là có thể. Tuy nhiên, nó vẫn chưa được triển khai. – lothar
Câu hỏi hay. Việc chạy một dự án lớn trong phiên bản tiếp theo của Python sẽ không dứt khoát, trừ khi bạn đã có các bài kiểm tra đơn vị kỳ diệu đạt được phạm vi mã 100%, vì vậy một công cụ như thế này sẽ rất hay. –