Skip to content

Instantly share code, notes, and snippets.

@jorgejesus
Created January 7, 2022 07:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jorgejesus/5becad23fd374edfdae6edeae77c3d07 to your computer and use it in GitHub Desktop.
Save jorgejesus/5becad23fd374edfdae6edeae77c3d07 to your computer and use it in GitHub Desktop.
python optimization with spatialsqlite
#!/usr/bin/env bash
# Credit https://giters.com/decuser
# packages needed Ubuntu 20.04.3 LTS
# libsqlite3-dev lib3-mod-spatialite zlib1g-dev
set +x
PY_VERSION=3.10.1
export MAKE_OPTS="-j8"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --enable-loadable-sqlite-extensions"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --with-computed-gotos"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --with-system-expat"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --with-system-ffi"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --with-ensurepip=yes"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --enable-ipv6"
# optimizations
export CFLAGS="$CFLAGS -march=native"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --enable-optimizations"
export PYTHON_CONFIGURE_OPTS="$PYTHON_CONFIGURE_OPTS --with-lto"
export CFLAGS="$CFLAGS -I$HOME/.pyenv/versions/$PY_VERSION/openssl/include"
export CFLAGS="$CFLAGS -I$HOME/.pyenv/versions/$PY_VERSION/readline/include"
export CFLAGS="$CFLAGS -I/opt/local/include"
export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/sqlite/include"
export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/zlib/include"
export LDFLAGS="$LDFLAGS -L$HOME/.pyenv/versions/$PY_VERSION/openssl/lib"
export LDFLAGS="$LDFLAGS -L$HOME/.pyenv/versions/$PY_VERSION/readline/lib"
export LDFLAGS="$LDFLAGS -L/opt/local/lib"
export LDFLAGS="$LDFLAGS -L/usr/local/opt/sqlite/lib"
export PKG_CONFIG=`which pkg-config`
pyenv install -v --force $PY_VERSION
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment