How to fix ModuleNotFoundError: No module named 'binance'?

506 Views Asked by At

From Jupyter Notebook I ran pip install binance. Running from binance.client import Client gives the error above. I have renamed the binance.py file as mentioned in similar questions however I'm still getting the error. I haven't installed for one version of python while trying to run my code with another as mentioned in another question. Trying pip uninstall gives "WARNING: Skipping binance as it is not installed.".

How can I get the python-binance package to work?

Edit: Following Wayne's comment I tried %conda install -c conda-forge python-binance and encounter a new error when trying to import: No module named 'importlib.readers'

Edit 2: conda list and pip list both run without errors.

My traceback:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[2], line 1
----> 1 from binance.client import Client

File ~\anaconda3\envs\py3\lib\site-packages\binance\__init__.py:9
      1 """An unofficial Python wrapper for the Binance exchange API v3
      2 
      3 .. moduleauthor:: Sam McHardy
      4 
      5 """
      7 __version__ = '1.0.16'
----> 9 from binance.client import Client, AsyncClient  # noqa
     10 from binance.depthcache import DepthCacheManager, OptionsDepthCacheManager, ThreadedDepthCacheManager  # noqa
     11 from binance.streams import BinanceSocketManager, ThreadedWebsocketManager  # noqa

File ~\anaconda3\envs\py3\lib\site-packages\binance\client.py:7
      5 import hashlib
      6 import hmac
----> 7 import requests
      8 import time
      9 from operator import itemgetter

File ~\anaconda3\envs\py3\lib\site-packages\requests\__init__.py:147
    144 import logging
    145 from logging import NullHandler
--> 147 from . import packages, utils
    148 from .__version__ import (
    149     __author__,
    150     __author_email__,
   (...)
    158     __version__,
    159 )
    160 from .api import delete, get, head, options, patch, post, put, request

File ~\anaconda3\envs\py3\lib\site-packages\requests\utils.py:58
     54 from .structures import CaseInsensitiveDict
     56 NETRC_FILES = (".netrc", "_netrc")
---> 58 DEFAULT_CA_BUNDLE_PATH = certs.where()
     60 DEFAULT_PORTS = {"http": 80, "https": 443}
     62 # Ensure that ', ' is used to preserve previous delimiter behavior.

File ~\anaconda3\envs\py3\lib\site-packages\certifi\core.py:71, in where()
     58 global _CACERT_PATH
     59 if _CACERT_PATH is None:
     60     # This is slightly janky, the importlib.resources API wants you
     61     # to manage the cleanup of this file, so it doesn't actually
   (...)
     69     # it will do the cleanup whenever it gets garbage collected, so
     70     # we will also store that at the global level as well.
---> 71     _CACERT_CTX = get_path("certifi", "cacert.pem")
     72     _CACERT_PATH = str(_CACERT_CTX.__enter__())
     74 return _CACERT_PATH

File ~\anaconda3\envs\py3\lib\importlib\resources.py:119, in path(package, resource)
    112         else:
    113             return BytesIO(data)
    116 def open_text(package: Package,
    117               resource: Resource,
    118               encoding: str = 'utf-8',
--> 119               errors: str = 'strict') -> TextIO:
    120     """Return a file-like object opened for text reading of the resource."""
    121     resource = _normalize_path(resource)

File ~\anaconda3\envs\py3\lib\importlib\_common.py:52, in get_resource_reader(package)

ModuleNotFoundError: No module named 'importlib.readers'
1

There are 1 best solutions below

0
On BEST ANSWER

As suggested in the question comments, my problem was inconsistency of installed packages due to using pip instead of conda. Uninstalling and reinstalling Anaconda fixed the module not found error.