Prerequisities¶
Before installing anything lime-specific, you need to make sure that you have the following tools/binaries installed on your computer:
- Python
- Node.js
- Docker
- ODBC Driver for SQL Server
- pipx
- Poetry
Installation instructions¶
Python¶
uv is a fast Python package installer and resolver that can also manage Python installations. It works on all platforms and is the recommended way to install Python.
uv automatically downloads Python versions as needed and doesn't require building from source. It makes installed Python versions available in your PATH automatically.
Alternatively, you can use platform-specific installation methods:
Install Python 3.11 by downloading it from https://www.python.org
Pyenv can be used to install Python on macOS.
Warning
As pyenv builds Python interpreter locally you need to install necessary pyenv build dependencies.
# Install pyenv
brew update
brew install pyenv
# Install python 3.11 as the global python
pyenv install 3.11
pyenv global 3.11
Add the following lines to your shell profile configuration (~/.zshrc or ~/.bash_profile):
Pyenv can be used to install Python on Linux.
Installation instructions for pyenv can be found here.
Warning
As pyenv builds Python interpreter locally you need to install necessary pyenv build dependencies.
NodeJS¶
We recommend using fnm (Fast Node Manager) for installing and managing Node.js versions. It's fast, cross-platform, and supports automatic version switching.
# Install fnm
curl -fsSL https://fnm.vercel.app/install | bash
# Install Node.js LTS
fnm install --lts
# Use the LTS version
fnm use lts-latest
After installation, set up your shell by adding this to your shell profile (~/.zshrc or ~/.bash_profile):
The --use-on-cd flag enables automatic Node.js version switching when you change directories.
Note: Alternative installation methods for Windows exists at https://fnm.vercel.app/.
Alternatively, you can install Node.js directly from nodejs.dev or use other version managers like nvm.
Docker¶
We recommend using Rancher Desktop for your local development environment.
As an alternative, you can install Docker and Compose standalone.
ODBC Driver for SQL Server¶
Install the MSODBC driver 18 by following the guide here
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.
Install the unixodbc driver:
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 only: Configure to use source distribution of pyodbc¶
On macOS (especially Apple Silicon), the pyodbc package must be built from source rather than using prebuilt wheels. This is because prebuilt pyodbc wheels on Apple Silicon are often linked to the system ODBC libraries (such as the system-provided unixODBC or iODBC frameworks), rather than the Homebrew-installed unixODBC and Microsoft's ODBC Driver for SQL Server (msodbcsql18).
Linking pyodbc to the system ODBC libraries is incorrect for SQL Server connectivity, because the system frameworks are not compatible with Microsoft's ODBC driver and are not supported for this use case. To ensure reliable operation, pyodbc must be built and linked against the Homebrew-installed unixODBC and the msodbcsql18 driver (both installed via Homebrew). This ensures that pyodbc uses the correct ODBC implementation and can communicate properly with SQL Server.
If you skip this configuration, you'll encounter this error when trying to use pyodbc:
Configure linker and compiler flags¶
Building pyodbc from source requires linker and compiler flags to be set. Add these lines to your shell profile configuration (~/.zshrc or ~/.bash_profile):
These flags ensure that the build process can find the necessary libraries and headers installed by Homebrew. After adding these lines, restart your terminal or run source ~/.zshrc (or your respective profile file) to apply the changes.
Configure your package managers to build pyodbc from source¶
Poetry¶
Run this command once to configure Poetry:
uv¶
Add the following configuration to your global ~/.config/uv/uv.toml:
pip¶
Add the following configuration to your global ~/.config/pip/pip.conf:
If you have skipped the pip configuration above, you must manually fix it each time you create a new virtual environment:
pip install --pre --no-binary :all: "pyodbc<5.0.0" --force-reinstall \
-i https://pypi.python.org/simple --force
Note: Use pipx runpip, uv run pip, poetry run pip to run pip install in the virtualenvs
managed by these tools
pipx¶
Install pipx and ensure that it's added to your path:
Poetry¶
We currently support version 1.3.2 installed with Python 3.11 for solution projects, but 1.8.3 and 2.0 may work.
Install Poetry, preferably with pipx:
If you installed Python 3.11 to a different location, update the path accordingly.
If you have multiple Python versions, you may need to specify the full path to your Python 3.11 executable:
Warning
You may get invalid poetry.lock files with build errors if using the wrong Python version.
Run pipx uninstall poetry and then the command above again to reinstall Poetry.
Verify that your Poetry installation actually is using Python 3.11 by running pipx list.