3rd party prerequisites
Before installing anything lime-specific, you need to make sure that you have the following tools/binaries installed on your computer:
- Python 3.11
- NodeJS, the latest LTS version
- Docker
- ODBC Driver for SQL Server
- sqlcmd
- pipx
- Poetry
Installation instructions¶
Python¶
Windows¶
Install Python 3.11 by downloading it from https://www.python.org
macOS¶
We recommend using pyenv
for installing Python on macOS. This article explains why. Installation instructions for pyenv
can be found here. We recommend that you use brew
to install it on macOS.
# Install pyenv
brew update
brew install pyenv
# Install python 3.11 as the global python
pyenv install 3.11.3
pyenv global 3.11.3
Insert the following lines in your shell/terminal profile configuration:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
Ensure that linker and compiler flags are set. This might be needed in order for python to successfully install certain packages in your venv. Example config below (please verify that it's correct on your machine):
export LDFLAGS="-L$(brew --prefix)/lib"
export CPPFLAGS="-I$(brew --prefix)/include"
Ubuntu¶
We recommend using pyenv
for installing Python on Linux. This article explains why. Installation instructions for pyenv
can be found here.
NodeJS¶
Install NodeJS latest LTS version
Docker¶
Install Docker.
ODBC Driver for SQL Server¶
Windows¶
Install the MSODBC driver 18 by following the guide here
Ubuntu¶
Install the unixodbc driver:
sudo apt-get -y install --no-install-recommends unixodbc unixodbc-dev
Install the MSODBC driver 18 by following the guide here
Please also make sure that you install sqlcmd
, and that it's added to your PATH.
macOS¶
Install the MSODBC driver 18 by following the guide here
Please also make sure that you install sqlcmd
, and that it's added to your PATH.
pipx¶
Install pipx and ensure that it's added to your path:
pip install pipx
Poetry¶
We're using the latest stable poetry version. For the time being this is 1.3.*
.
Install Poetry, preferably with pipx:
pipx install poetry
Tools explained¶
Python 3.11¶
Programming language used by Lime CRM
NodeJS, the latest LTS version¶
Programming language used by Lime CRM
Docker¶
Docker is a containerization technology that enables the creation and use of containers. The Lime CRM dev environment relies on this technology.
ODBC Driver for SQL Server¶
Microsoft ODBC Driver for SQL Server is a single dynamic-link library (DLL) containing run-time support for applications using native-code APIs to connect to SQL Server.
sqlcmd¶
sqlcmd is a CLI tool that can run SQL Queries from a command prompt.
pipx¶
pipx is a specialized package installer and is used to install packages with cli entrypoints. pipx ensures that you don't get version conflicts by creating a separate venv for each package it installs. Packages installed by pipx is added to your path.
Read more about pipx here.
Why installing pipx when we have pip?¶
What pip does is to install all your packages, and their dependencies, in a central place. The way Python works, there is a good chance for a dependency conflict. Pipx does some smart things to avoid this: it creates a venv behind the scenes and installs into that, and then makes the executable available in your path. Pip is a package manager (or mostly an installer) but pipx is an application installer.
You can use pip, but it comes with some potential risks and issues, depending on what ends up in your global python.
Poetry¶
Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Poetry offers a lockfile to ensure repeatable installs, and can build your project for distribution.
Read more about Poetry here