Heim > Backend-Entwicklung > Python-Tutorial > Was passiert, wenn der Name Ihres Python-Skripts mit einer importierten Bibliothek in Konflikt steht?

Was passiert, wenn der Name Ihres Python-Skripts mit einer importierten Bibliothek in Konflikt steht?

DDD
Freigeben: 2024-12-28 12:12:15
Original
422 Leute haben es durchsucht

What Happens When Your Python Script's Name Conflicts with an Imported Library?

Importieren einer Bibliothek mit demselben Namen wie das Skript

Wenn Sie Ihr Skript mit demselben Namen wie eine importierte Bibliothek benennen, z. B. „requests.py“, Es können verschiedene Importprobleme auftreten. Diese Probleme können sich je nach verwendetem Importansatz als AttributeErrors, ImportErrors oder NameErrors manifestieren.

Dies tritt auf, weil der Name des Skripts die installierte Bibliothek in sys.path verdeckt und dem lokalen Skript Vorrang vor dem beabsichtigten Import einräumt.

Symptome

Einfach Import

import requests

res = requests.get('http://www.google.ca')
print(res)
Nach dem Login kopieren
  • Fehler: AttributeError: Modul „requests“ hat kein Attribut „get“

Spezifischer Import aus Name

from requests import get

res = get('http://www.google.ca')
print(res)
Nach dem Login kopieren
  • Fehler: Importfehler: Name 'get' kann nicht importiert werden

Modulimport von Paket

from requests.auth import AuthBase
Nach dem Login kopieren
  • Fehler: ImportError: Kein Modul namens „requests.auth“; 'requests' ist kein Paket

Star Import

from requests import *

res = get('http://www.google.ca')
print(res)
Nach dem Login kopieren
  • Fehler: NameError: Name 'get' ist nicht definiert

Lösung

Um dieses Problem zu beheben Wenn das Problem auftritt, benennen Sie Ihr Skript in einen anderen Namen um, der keinen Konflikt mit importierten Modulen verursacht. Löschen Sie außerdem die generierte Datei „requests.pyc“ (falls vorhanden), um Störungen durch den zwischengespeicherten Bytecode zu verhindern.

Traceback-Debugging

Wenn Sie auf diese Fehler stoßen, untersuchen Sie den Traceback sorgfältig, um die Modulnamenkollision zu identifizieren zwischen dem Skriptnamen und dem importierten Modul.

Das obige ist der detaillierte Inhalt vonWas passiert, wenn der Name Ihres Python-Skripts mit einer importierten Bibliothek in Konflikt steht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage