Michael Data

Environment Mgmt

Example environment for development on Mac:

pyenv

Install common dev dependencies: listed here.

My Versions

Don't install with mac Homebrew, it breaks on `brew upgrade`. Instead, clone from git:

  git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  pyenv install 2.7.15
  pyenv install 3.5.5
  pyenv install 3.6.5
pyenv configuration

via blog: pyenv init must be added toward the end of .bash_profile or .bashrc to enable shims and autocompletion:

  #######################
  # pyenv configuration #
  #######################
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$PYENV_ROOT/bin:$PATH"
  if hash pyenv 2>/dev/null; then
      eval "$(pyenv init -)"
  fi

Include it at the end of `.bashrc` for better integration with other shell utilities like `screen`. `pipenv` needs these environment variables in order to find and use pyenv, so you want them to be available in multiple shell circumstances.

pip

pip install --editable

Via, install local `.` package so it is automatically reloaded when changes are made.

pip install --editable .

This replaces the need to run `python setup.py install` after changing the package. Works really nicely with the iPython autoreload plugin.

pip Requirements

Create and install requirements

pip freeze > requirements.txt
pip install -r requirements.txt