चूंकि इस विषय की रुचि पूरी तरह से योग्य नामों को प्राप्त करने के लिए है, इसलिए यहां एक नुकसान है जो एक ही पैकेज में मौजूद मुख्य मॉड्यूल के साथ रिश्तेदार आयात का उपयोग करते समय होता है। उदाहरण के लिए, नीचे मॉड्यूल सेटअप के साथ:
$ cat /tmp/fqname/foo/__init__.py
$ cat /tmp/fqname/foo/bar.py
from baz import Baz
print Baz.__module__
$ cat /tmp/fqname/foo/baz.py
class Baz: pass
$ cat /tmp/fqname/main.py
import foo.bar
from foo.baz import Baz
print Baz.__module__
$ cat /tmp/fqname/foo/hum.py
import bar
import foo.bar
यहां एक ही मॉड्यूल को अलग तरीके से आयात करने का परिणाम दिखाया गया है:
$ export PYTHONPATH=/tmp/fqname
$ python /tmp/fqname/main.py
foo.baz
foo.baz
$ python /tmp/fqname/foo/bar.py
baz
$ python /tmp/fqname/foo/hum.py
baz
foo.baz
जब हम सापेक्ष पथ का उपयोग करके बार आयात करते हैं, तो बार Baz.__module__
सिर्फ "बाज" के रूप में देखता है, लेकिन दूसरे आयात में जो पूर्ण नाम का उपयोग करता है, बार "foo.baz" के रूप में देखता है।
यदि आप कहीं पूरी तरह से योग्य नामों को जारी रख रहे हैं, तो उन वर्गों के लिए सापेक्ष आयात से बचना बेहतर है।