Archive for the ‘configurazione’ Tag

Finalmente il mio ambiente pythonico sul Mac

Ho appena sistemato l’installazione di python sul Mac.

C’erano tre problemini che avevo trascurato da tempo e che alla fine son venuti al pettine:

  • python2.4: avevo ancora un vecchio python installato da un universal installer di un plone3.0.x
  • readline: pdb era inusabile. Il fatto che programmi solo saltuariamente e nei weekend non è una gran scusa..
  • roadrunner non andava.

Un paio di dritte da qualche compare e una ricerchina con l’amichevole google alla fine hanno risolto, anche velocemente il problema.

Prima di tutto ho installato MacPorts. Questa era un’operazione che avevo già fatto appena comprato il Mac e avevo lasciato un po’ di configurazioni a metà. Quindi prima di tutto ho tolto python24 e pil:

sudo port uninstall python24 @2.4.4_1+darwin_8
sudo port install python24
sudo port install python_select
sudo python_select python24
sudo port install py-pil

ho poi montato easy_install:

wget peak.telecommunity.com/dist/ez_setup.py
/opt/local/Library/Frameworks/Python.framework/Versions/
                     Current/bin/python ez_setup.py

quindi ho aggiornato il .bashrc per utilizzare questo python e un’utility basata su readline:

export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.4/bin:$PATH
export PYTHONSTARTUP=$HOME/.pythonrc.py

e

#!/usr/bin/env python
import readline,rlcompleter
class irlcompleter(rlcompleter.Completer):
        def complete(self, text, state):
                if text == "":
                        #you could  replace \t to 4 or 8 spaces if you prefer indent via spaces
                        return ['\t',None][state]
                else:
                        return rlcompleter.Completer.complete(self,text,state)
#you could change this line to bind another key instead tab.
readline.parse_and_bind("tab: complete")
readline.set_completer(irlcompleter().complete)

però, sgrunt, avevo dimenticato readline e quindi nulla andava. MacPorts però è venuto velocemente in aiuto.

sudo port install py-readline

ora manca solo virtualenv:

easy_install virtualenv

e tutto funziona. Sono contento.

Annunci