More Details about the Installation Process
Several scripts are involved to complete the installation:
- install.sh is the main entry point of the installation process, it will make sure that at least Python 3 and curl packages are installed, then it will download
bootstrap.py
, the second installation script, and run it it - bootstrap.py is a very simple script that only downloads the
InstallTools.py
script and executes the main installation function - InstallTools.py includes all the helpers functions to install the whole JumpScale framework on your system. The main function of the installer is the following
installJS
function from theInstallTools.py
script
installJS(self,base="",clean=False,insystem=True,GITHUBUSER="",GITHUBPASSWD="",CODEDIR="",\
JSGIT="https://github.com/Jumpscale/jumpscale_core8.git",JSBRANCH="master",\
AYSGIT="https://github.com/Jumpscale/ays_jumpscale8",AYSBRANCH="master",SANDBOX=0,EMAIL="",FULLNAME=""):
"""
@param insystem means use system packaging system to deploy dependencies like python & python packages
@param codedir is the location where the code will be installed, code which get's checked out from github
@param base is location of root of JumpScale
@copybinary means copy the binary files (in sandboxed mode) to the location, don't link
JSGIT & AYSGIT allow us to chose other install sources for jumpscale as well as AtYourService repo
IMPORTANT: if env var's are set they get priority
"""
Dependencies (needs to be verified)
To minimize the size of the installation some of the dependencies were opted to be installed separately, only dependencies which affect modular components of JumpScale where moved out to allow JumpScale's key components to function normally without the dependencies. For example:
To install the dependencies run this command in the shell:
js 'j.tools.cuisine.local.development.js8.installDeps()'
Here is a list of the dependencies:
- redis
- brotli
- pip
- etcd
- cython
- python package pytoml
- python package pygo
- python package cffi
- python package paramiko
- python package msgpack-python
- python package redis
- python package aioredis
- python package mongoengine
- python package certifi
- python package docker-py
- python package fcrypt
- python package gitlab3
- python package gitpython
- python package html2text
- python package click
- python package influxdb
- python package ipdb
- python package ipython
- python package jinja2
- python package netaddr
- python package wtforms_json
- python package reparted
- python package pystache
- python package pymongo
- python package psycopg2
- python package pathtools
- python package psutil
- python package pytz
- python package requests
- python package sqlalchemy
- python package urllib3
- python package zmq
- python package pyyaml
- python package python-etcd
- python package websocket
- python package marisa-trie
- python package pylzma
- python package ujson
- python package watchdog
- python package pygithub
- python package minio
- python package colored-traceback
- python package tmuxp
- python package ply
- python package xonsh
- python package pudb
- python package traitlets
- python package python-telegram-bot
- python package colorlog
- python package path.py
- python package dnspython3
- python package packet-python
- python package gspread
- python package oauth2client
- python package crontab
- python package beautifulsoup4
- python package lxml