Czasami zdarza się kolizja nazw modułów między aplikacją a plikiem wewnętrznym w pakiecie innej firmy. Na przykład plik o nazwie profile.py
w bieżącym folderze spowoduje, że jupyter notebook
ulegnie awarii podczas próby zaimportowania go zamiast własnego profile.py
. Jaki jest dobry sposób na uniknięcie tego problemu z perspektywy użytkownika pakietu? (Czy jest to coś, co twórca pakietów powinien w jakiś sposób zapobiec?)Radzenie sobie z kolizją nazw modułów
Uwaga: podczas gdy podobny problem występuje z powodu kolizji między aplikacją a wbudowanymi nazwami (np. time.py
lub socket.py
), to przynajmniej stosunkowo łatwo jest zapamiętaj nazwy standardowych modułów bibliotecznych i innych wbudowanych obiektów.