Czy istnieje sposób osadzania zależności w skrypcie Pythona?

Mam prosty skrypt, który jest zależny oddnspython do analizowania plików stref. Chciałbym rozpowszechniać ten skrypt jako pojedynczy plik .py, który użytkownicy mogą uruchamiać tak długo, jak mają zainstalowany 2.6 / 2.7. Nie chcę, aby użytkownik instalował zależności w całej witrynie, ponieważ mogą występować konflikty z istniejącymi pakietami / wersjami, ani też nie chcę, aby wymieszali się z virtualenv. Zastanawiałem się, czy istnieje sposób na osadzenie pakietu takiego jak dnspython w skrypcie (gzip / base64) i że ten skrypt ma dostęp do tego pakietu w czasie wykonywania. Być może rozpakuj go do katalogu w / tmp i dodaj to do sys.path? Nie martwię się o koszty związane z uruchamianiem, chcę tylko jedną .py z wszystkimi zależnościami, które mogę dystrybuować.

Ponadto nie byłoby żadnych zależności C do zbudowania, tylko czyste pakiety Pythona.

Edytuj: skrypt nie musi być .py. Dopóki jest to pojedynczy plik wykonywalny.

questionAnswers(3)

yourAnswerToTheQuestion