Just a short note on how to install
alot from a cloned repository. This might be incomplete since its from memory and I am writing this down since I had to to a reinstall and I had to figure it out again.
You can install
alot from homebrew using
brew install alot, but I needed to modify the code so the tag autocompletion search the whole tag name for the substring (e.g. typing “cur” would not autocomplete to “@/Current” without changing a default parameter in the code).
So I install
$ brew install notmuch
$ cd parent-dir-to-where-you-want-the-alot-repo $ git clone https://github.com/pazz/alot.git
I am using
pyenv together with
pyenv-virtualenv to manage my python versions. These are installed via
homebrew as well:
$ brew install pyenv pyenv-virtualenv
If you are just installing
pyenv-virtualenv now, you’ll need make a change to your
.profile and install at least one version of
python2 before installing
alot from the cloned repository.
Add the following to your
.profile and restart your shell (or
source ~/.profile it):
# pyenv # bonus export below that is not needed for alot, but needed # if you want to use python with e.g. nvim export PYTHON_CONFIGURE_OPTS="--enable-framework" if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi # pyenv-virtualenv # another bonus export, not strictly needed, but gets rid of a # prompt when switching virtual environments export PYENV_VIRTUALENV_DISABLE_PROMPT=1 if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
Now install e.g.
python 2.7.12 via pyenv:
$ pyenv install 2.7.12
Then create a virtualenv for
alot an activate it:
$ pyenv virtualenv alot $ pyenv activate alot
Finally, before you can install, you need to add the python packages installed by homebrew to your virtual environment:
echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> $PYENV_VIRTUAL_ENV/lib/python2.7/site-packages/homebrew.pth
This adds the file
homebrew.pth to your virtualenv
site-packages directory which contains a reference to the site-
packages directory used by homebrew. Now you can finally install
alot from your cloned repository:
$ cd path-to-alot-repo $ pip install -e ./
pip should see that the
notmuch library is avaliable and will not install its own (which I couldn’t get to access the notmuch bindings installed by homebrew). You should now be able to run
alot if the correct virtualenv is activated.
# activate the alot virtualenv if you havnt $ pyenv activate alot # run alot $ alot
If you get an error about python not being able to find the shared notmuch library, try
pip uninstall notmuch in case
pip installed it anyway. Also make sure that you have installed
notmuch via brew and that there is a directory named
homebrew installs its python packages).