Ok, jeśli twój projekt jest dobrze zorganizowany, tak że na każdy folder, cała jego zawartość to pliki pod python3 lub 2 to oczywiście. Jeśli masz po prostu zbiór mało powiązanych skryptów to moje rozwiązanie jest moim zdaniem bezpieczniejsze.
Wyciągnij log dla wszystkich katalogów i przejrzyj wybiórczo, czy się zgadzają. To jedyna opcja. Chyba, że masz gdzieś projekt mieszany 2<>3. To wtedy, wracasz do punktu wyjścia. Poza tym, z tym returnem na samym końcu pętli, jeśli folder nie zawiera plików *.py to dostaniesz błędną informację, ale skoro nie masz takiego problemu, to myślę, że poza tym jest ok.
Zastanów się nad zwracaniem tupli ( nazwa_sprawdzonego_pliku, wersja_pythona), łatwiej później dojść, które pliki były skanowane.
Albo po prostu wrzuć moduł logging
i zapisz do loga, te informacje, w razie jakby co nie działało.
Kopiuj
* projekt1
* projekt2
+ projekt2a
+ projekt2b
Gdzie, projekt2 i 2b mają różne wymagane wersje, też jest problemem, chyba, że u ciebie taka sytuacji nie występuje.
'prostego skryptu'
, więc omylnie nawrzuca/napisze kilka rzeczy w innej wersji. W dodatku warto byłoby też przechwycić wyjątekImportError
jeśli masz taką możliwość w AST. Od razu będzie wiadomo czego brakuje. Ogólnie to są bardzo rzadkie przypadki, ale staje się to użyteczne :).