GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Deploy the Python Application

Deploy the Python Application

Jump to bottom Edit New page
Antonio Vivace edited this page Mar 1, 2019 · 17 revisions

Prerequisites

This process was tested on OS X, Ubuntu, Debian and Raspbian.

Pywheels

If you're deploying on a Raspberry, your pip installation must have access to the pywheels repository. If you are on Raspbian Stretch you already have it enabled. If you are on Jessie, or on Stretch upgraded from Jessie, you need to enable this manually, following the instructions here.

Anyway, we reccomend starting with a clean Raspbian Stretch image.

System Packages

  • portaudio19-dev (to compile pyaudio)
  • git
  • python3
  • python3-pip
  • python3-venv
  • libopenjp2-7-dev libtiff5 (pillow)
  • libhdf5-dev (cv2)
sudo apt install portaudio19-dev git python3-pip python3 python3-venv libopenjp2-7-dev libtiff5 libatlas-base-dev libhdf5-dev libhdf5-serial-dev python-gobject libharfbuzz-bin libwebp6 libjasper1 libilmbase12 libgstreamer1.0-0 libavcodec-extra57 libavformat57 libopencv-dev libqtgui4 libqt4-test omxplayer libhdf5-dev

Note that an error in installing omxplayer may occour, ignore that. Furthermore, if you use Ubuntu, packages >for libjasper1 may not be found, you can solve this problem with:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

Now, once you have the dependencies,

git clone https://github.com/CoderBotOrg/coderbot.git
cd coderbot
python3 -m venv .
source bin/activate
pip3 install -r requirements_stub.txt
# If you plan to run just the Stub mode, you don't need the following line
pip3 install -r requirements.txt

MAKE SURE that every package installation succedeed. pip stops at the first failure so an error compromise everything. If you have problems with ANY of the raspberry-specific python3 packages (piamera, tensorflow, tensorboard, pigpio, pyaudio) you can find ready builds here.

Now, run the backend with python3 init.py

or

PYTHONPATH=stub:test python3 init.py

for the Stub mode.

Note that an error about PyAudio, similar to this

Building wheels for collected packages: PyAudio
  Running setup.py bdist_wheel for PyAudio ... error
  Complete output from command /home/pi/coderbot/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-vup_psej/PyAudio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpq1wxoi_1pip-wheel- --python-tag cp35:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help
  
  error: invalid command 'bdist_wheel'
  
  ----------------------------------------
  Failed building wheel for PyAudio
  Running setup.py clean for PyAudio
Failed to build PyAudio

is completely normal. Installation will proceed using Running setup.py install for PyAudio ... done. As long as you can see "PyAudio" in the list of "Installing collected packages", everything is good.

Add a custom footer

Home

Development

  • Image and System preparation

  • Deploy Backend

  • Deploy Frontend

  • Commands Cheatsheet

Documentation

  • API v2

Clone this wiki locally

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.