Estoy tratando de hacer una importación regular en Google Colab.
Esta importación funcionó hasta ahora.
Si intento:
import plotly.express as px
o
import pingouin as pg
me sale un error:
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-19-86e89bd44552> in <module>() ----> 1 import plotly.express as px 9 frames /usr/local/lib/python3.7/dist-packages/plotly/express/__init__.py in <module>() 13 ) 14 ---> 15 from ._imshow import imshow 16 from ._chart_types import ( # noqa: F401 17 scatter, /usr/local/lib/python3.7/dist-packages/plotly/express/_imshow.py in <module>() 9 10 try: ---> 11 import xarray 12 13 xarray_imported = True /usr/local/lib/python3.7/dist-packages/xarray/__init__.py in <module>() 1 import pkg_resources 2 ----> 3 from . import testing, tutorial, ufuncs 4 from .backends.api import ( 5 load_dataarray, /usr/local/lib/python3.7/dist-packages/xarray/tutorial.py in <module>() 11 import numpy as np 12 ---> 13 from .backends.api import open_dataset as _open_dataset 14 from .backends.rasterio_ import open_rasterio as _open_rasterio 15 from .core.dataarray import DataArray /usr/local/lib/python3.7/dist-packages/xarray/backends/__init__.py in <module>() 4 formats. They should not be used directly, but rather through Dataset objects. 5 ----> 6 from .cfgrib_ import CfGribDataStore 7 from .common import AbstractDataStore, BackendArray, BackendEntrypoint 8 from .file_manager import CachingFileManager, DummyFileManager, FileManager /usr/local/lib/python3.7/dist-packages/xarray/backends/cfgrib_.py in <module>() 14 _normalize_path, 15 ) ---> 16 from .locks import SerializableLock, ensure_lock 17 from .store import StoreBackendEntrypoint 18 /usr/local/lib/python3.7/dist-packages/xarray/backends/locks.py in <module>() 11 12 try: ---> 13 from dask.distributed import Lock as DistributedLock 14 except ImportError: 15 DistributedLock = None /usr/local/lib/python3.7/dist-packages/dask/distributed.py in <module>() 1 # flake8: noqa 2 try: ----> 3 from distributed import * 4 except ImportError: 5 msg = ( /usr/local/lib/python3.7/dist-packages/distributed/__init__.py in <module>() 1 from __future__ import print_function, division, absolute_import 2 ----> 3 from . import config 4 from dask.config import config 5 from .actor import Actor, ActorFuture /usr/local/lib/python3.7/dist-packages/distributed/config.py in <module>() 18 19 with open(fn) as f: ---> 20 defaults = yaml.load(f) 21 22 dask.config.update_defaults(defaults) TypeError: load() missing 1 required positional argument: 'Loader'
Creo que puede ser un problema con Google Colab o algún paquete de utilidades básicas que se haya actualizado, pero no encuentro la manera de solucionarlo.
Ahora, la función load()
requiere el parámetro loader=Loader
.
Si su archivo YAML contiene solo YAML simple (str, int, listas), intente usar yaml.safe_load()
en lugar de yaml.load()
. Y si necesita FullLoader , puede usar yaml.full_load()
.
A partir de pyyaml>=5.4, no tiene vulnerabilidades críticas descubiertas, pyyaml status .
fuente: https://stackoverflow.com/a/1774043/13755823
siempre se debe preferir yaml.safe_load() a menos que necesite explícitamente la serialización/deserialización de objetos arbitrarios proporcionada para evitar introducir la posibilidad de ejecución de código arbitrario.
Más sobre yaml.load(input)
aquí .
Encontré el problema.
Estaba instalando pandas_profiling
y este paquete actualizó pyyaml
a la versión 6.0, que no es compatible con la forma actual en que Google Colab importa paquetes.
Entonces, simplemente volver a la versión 5.4.1 de pyyaml
resolvió el problema.
Para obtener más información, consulte las versiones de pyyaml
aquí .
Vea este problema y las respuestas formales en GitHub
############################################## ###############
Para volver a la versión 5.4.1 de pyyaml
en su código, agregue la siguiente línea al final de las instalaciones de sus paquetes:
!pip install pyyaml==5.4.1
Es importante ponerlo al final de la instalación, algunas de las instalaciones cambiarán la versión de pyyaml
.
Para resolver TypeError: load() falta 1 argumento posicional requerido: Error 'Loader' Aquí el error menciona que su función load() es requerida param loader=Loader. Entonces necesita usar safe_load() en lugar de load(). La segunda solución es Here pyyaml, la última versión 6.0 no es compatible con la forma actual en que Google Colab importa paquetes. Así que simplemente baje la versión de pyyaml a 5.4.1, que es compatible con la forma actual de importación de Google Colab y resolverá su error. use este comando para degradar pyyaml y cuando estoy cargando el paquete texthero recibí este error después de instalar pyyaml versión 5.4.1 después de reiniciar google colab rectifico ese error
Respuesta:- !pip install pyyaml==5.4.1