Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

__package__ = None

Offen
#39 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
jupyter-notebook, python
Bereich
tooling

Rechercherichtung

Beginne in ipynb/fs/finder.py bei FSFinder.find_spec und untersuche, wie package_prefix aus package abgeleitet wird. Vergleiche diesen Wert mit spec.parent, während du unter den gemeldeten Umständen einen Import eines Notebooks reproduzierst. Erledigt ist die Aufgabe, wenn der Finder nicht mehr None an startswith übergibt und der Notebook-Import erfolgreich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Hi,

I found that under certain circumstances __package__ is not defined and hence FSFinder has no package_prefix set. This leads to an error when trying to import a notebook.

Can it be that this is because __package__ is expected to be the same as spec.parent beginning with Python 3.6?
https://docs.python.org/3/reference/import.html#__package__

Anyway, relying on __package__ seems to be a risk.

Best,
Jens Henrik


...python3.6/site-packages/ipynb-0.5.1-py3.6.egg/ipynb/fs/finder.py in find_spec(self=<ipynb.fs.finder.FSFinder object>, fullname='ipynb.fs.full.job_submit', path=['...site-packages/ipynb-0.5.1-py3.6.egg/ipynb/fs/full'], target=None)
     41         Claims modules that are under ipynb.fs
     42         """
---> 43         if fullname.startswith(self.package_prefix):
        fullname.startswith = <built-in method startswith of str object at 0x7f41805a6580>
        self.package_prefix = None
     44             for path in self._get_paths(fullname):
     45                 if os.path.exists(path):

TypeError: startswith first arg must be str or a tuple of str, not NoneType
Vorherrschende Sprache
Jupyter Notebook
Sterne
258
Forks
71
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ipython/ipynb

Alle Issues in ipython/ipynb

Ähnliche Issues

Weitere Issues zu DevTools

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.