huangtu577
huangtu577

Reputation: 11

Binance Api Python setup

I created a Bot to trade BTC with Binance and am currently trying to set my Raspberry Pi 3 B+ up. With every pip install python-binance I get

  Using cached backports.zoneinfo-0.2.1.tar.gz (74 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: backports.zoneinfo
  Building wheel for backports.zoneinfo (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/ubuntu/test/venv/bin/python3 /tmp/tmp6c7k6imv build_wheel /tmp/tmpuge_0m5b
       cwd: /tmp/pip-install-cje139s6/backports.zoneinfo
  Complete output (39 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-3.8
  creating build/lib.linux-aarch64-3.8/backports
  copying src/backports/__init__.py -> build/lib.linux-aarch64-3.8/backports
  creating build/lib.linux-aarch64-3.8/backports/zoneinfo
  copying src/backports/zoneinfo/_tzpath.py -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  copying src/backports/zoneinfo/_common.py -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  copying src/backports/zoneinfo/__init__.py -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  copying src/backports/zoneinfo/_version.py -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  copying src/backports/zoneinfo/_zoneinfo.py -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  running egg_info
  writing src/backports.zoneinfo.egg-info/PKG-INFO
  writing dependency_links to src/backports.zoneinfo.egg-info/dependency_links.txt
  writing requirements to src/backports.zoneinfo.egg-info/requires.txt
  writing top-level names to src/backports.zoneinfo.egg-info/top_level.txt
  reading manifest file 'src/backports.zoneinfo.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.png' under directory 'docs'
  warning: no files found matching '*.svg' under directory 'docs'
  no previously-included directories found matching 'docs/_build'
  no previously-included directories found matching 'docs/_output'
  adding license file 'LICENSE'
  adding license file 'licenses/LICENSE_APACHE'
  writing manifest file 'src/backports.zoneinfo.egg-info/SOURCES.txt'
  copying src/backports/zoneinfo/__init__.pyi -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  copying src/backports/zoneinfo/py.typed -> build/lib.linux-aarch64-3.8/backports/zoneinfo
  running build_ext
  building 'backports.zoneinfo._czoneinfo' extension
  creating build/temp.linux-aarch64-3.8
  creating build/temp.linux-aarch64-3.8/lib
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/ubuntu/test/venv/include -I/usr/include/python3.8 -c lib/zoneinfo_module.c -o build/temp.linux-aarch64-3.8/lib/zoneinfo_module.o -std=c99
  lib/zoneinfo_module.c:1:10: fatal error: Python.h: No such file or directory
      1 | #include "Python.h"
        |          ^~~~~~~~~~
  compilation terminated.
  error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for backports.zoneinfo
Failed to build backports.zoneinfo
ERROR: Could not build wheels for backports.zoneinfo which use PEP 517 and cannot be installed directly

I tried to update pip, wheel, setuptools to the newest version, ran the same command on my desktop computer, where it worked without problem. The systeminformation for my Raspberry Pi are:

Upvotes: 0

Views: 1144

Answers (3)

shriekdj
shriekdj

Reputation: 91

I Faced this problem in past and had post about it but this is direct solution.

Details

The issue is mostly related to retrieving data from OS About Current Time With IANA And backports.zoneinfo is pre-builted for Windows And We Have to Build The Package For Linux Or MacOS With Ruby Compiler Or Any Other Language Specified By Error Also.

First Solution

Upgrade the pip with wheel and Try Again Installing.

pip install --upgrade pip wheel

pip install backports.zoneinfo

Second Solution

Try Installing the Alternative Package Named tzdata. ( Worked for My fastapi project. ) The Package Supports Python 3 But It's Readme Is Not Updated About the Python 2 Support By Dev IDK Why 🤔.

pip install tzdata

Third Solution

Install Ruby Compiler From Your System Package Manager and Run The pip code again. Given Below is for Ubuntu.

sudo apt-get install ruby-full

pip install backports.zoneinfo 

Upvotes: 0

I faced the same issue on my Raspberry Pi. Use pip3 install python-binance instead of pip install python-binance

Upvotes: 0

huangtu577
huangtu577

Reputation: 11

I ran sudo apt install python3-dev and it worked!

Upvotes: 1

Related Questions