logger.partitioning is accessed before definition
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 150
- Fork
- 23
- Merge medio
- 1g 11h
- PR unite (30g)
- 2
Descrizione
logger.partitioning is accessed before definition using Python version: Python 3.8.11; cf-python version 3.11.0 from pypi
Using import cf immediately throws an attribute error: 'Logger' object has no attribute 'partitioning'. The expected behaviour is that logger.partitioning is defined before it is called, allowing for the package to be imported.
Following the traceback shows that logger.partitioning is accessed by way of line 194 in cf/.init.py:
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/X/X_env/lib/python3.8/site-packages/cf/__init__.py", line 194, in <module>
from .mixin import Coordinate
File "/home/X/X_env/lib/python3.8/site-packages/cf/mixin/__init__.py", line 2, in <module>
from .propertiesdata import PropertiesData, Subspace
File "/home/X/X_env/lib/python3.8/site-packages/cf/mixin/propertiesdata.py", line 24, in <module>
from ..timeduration import TimeDuration
File "/home/X/X_env/lib/python3.8/site-packages/cf/timeduration.py", line 28, in <module>
_one_year = Data(1, "calendar_years")
File "/home/X/X_env/lib/python3.8/site-packages/cf/data/data.py", line 750, in __init__
self._set_partition_matrix(
File "/home/X/X_env/lib/python3.8/site-packages/cf/data/data.py", line 832, in _set_partition_matrix
self.to_disk()
File "/home/X/X_env/lib/python3.8/site-packages/cf/data/data.py", line 12125, in to_disk
partition.close()
File "/home/X/X_env/lib/python3.8/site-packages/cf/data/partition.py", line 788, in close
logger.partitioning("Partition.close: original = {}".format(original))
AttributeError: 'Logger' object has no attribute 'partitioning'
logger.partitioning is defined on line 330 in cf/.init.py and is not created before any submodules are imported.
A possible solution is to move the logger definitions to before importing the submodules.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Ispeziona cf/init.py, in particolare le definizioni del logger intorno alla riga 330 e l’importazione del sottomodulo intorno alla riga 194. Riproduci il fallimento con import cf usando Python 3.8. Conferma che logger.partitioning esista prima che cf/timeduration.py e cf/data/partition.py lo utilizzino e verifica che il pacchetto venga importato correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- backend, data
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 45/100