Acabat de rebre un nou iMac de la botiga de reacondicionats d’Apple, vaig pensar que ja era hora de configurar-lo com una autèntica estació de desenvolupament. Al cap i a la fi, aquesta és la raó per la qual el vaig comprar. Per poder veure un parell d’entorns diferents i diverses finestres de codificació alhora.

La pantalla de 27” és preciosa, i he deixat les coses una mica abandonades recentment. L’Anne és fora veient ‘Frozen’ amb un parell d’amics, així que em prendré unes begudes delicioses i (amb sort) importaré el meu projecte Django i el faré funcionar abans que acabi la nit. En primer lloc, m’agradaria agrair a Mahdi Yusuf pel seu excel·lent article sobre com instal·lar Python a Mavericks OSX 10.9. Aprofitaré per omplir els buits mentre segueixo el seu procediment aquí.

Instal·la Homebrew

ruby -e \"$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)

Això probablement et farà instal·lar les eines de línia de comandes d’Apple. Fes-ho. També assegura’t d’executar brew doctor per assegurar-te que la instal·lació del Homebrew sigui neta. Només perquè ho diu.

Instal·la Python

brew install python

Ajusta la ruta dels executables

Afegeix /usr/local i /usr/local/bin a PATH. No vaig aconseguir fer-ho funcionar seguint completament les instruccions de Mahdi, però sé que el resultat que busquem quan escrius which python i which pip és /usr/local/bin/. Vaig acabar fent això: sudo nano -w /etc/paths i afegint /usr/local/bin a dalt de tot de la llista. Després pots escriure which python i which pip per assegurar-te que aparegui la versió de /usr/local/bin. Si et surt /usr/bin, estàs fent alguna cosa malament. Potser necessites recarregar la terminal.

Instal·la MySQL

El projecte que estic important està construït sobre això, i no vull preocupar-me de convertir-ho ara mateix. brew install mysql. Després de la instal·lació, veuràs això: Un ‘/etc/my.cnf’ d’una altra instal·lació pot interferir amb el correcte inici d’un servidor construït amb Homebrew. Per connectar-t’hi: mysql -uroot Perquè launchd iniciï el MySQL en l’inici de sessió: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Després, per carregar el MySQL ara: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist O, si no vols o necessites launchctl, pots simplement executar: mysql.server start Vaig optar per això, ja que l’utilitzaré molt i només tinc un projecte principal.

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

Després inicia el MySQL:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Recorda, vull que MySQL s’executi com un dimoni fins i tot quan no hi ha cap usuari connectat al servidor de desenvolupament… Això es pot fer fàcilment copiant el fitxer homebrew.mxcl.mysql.plist que s’inclou amb el paquet de MySQL de Homebrew a la carpeta /Library/LaunchDaemons/ i després fent algunes edicions al fitxer en la seva nova ubicació. Aquí tens el contingut del fitxer plist inclòs:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>KeepAlive</key>
  <true/>
  <key>Label</key>
  <string>homebrew.mxcl.mysql</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/opt/mysql/bin/mysqld_safe</string>
    <string>--bind-address=127.0.0.1</string>
    <string>--datadir=/usr/local/var/mysql</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>/usr/local/var/mysql</string>
</dict>
</plist>

Hi ha un parell de problemes que cal abordar amb el fitxer plist predeterminat si vols executar MySQL com un dimoni. Voldràs cridar l’executable mysqld directament en lloc d’iniciar l’script mysqld_safe. Has de proporcionar el compte d’usuari que voldràs que executi el procés mysqld. També has de proporcionar la ruta completa al directori de treball, que al meu sistema és /usr/local/var/mysql. Abans de començar amb qualsevol canvi al fitxer plist inclòs, fes-ne una còpia a la carpeta /Library/LaunchDaemons/:

sudo cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist /Library/LaunchDaemons/homebrew.mxcl.mysql.plist 

Després obre el teu editor de text preferit de Unix (en el meu cas, el nano):

sudo nano /Library/LaunchDaemons/homebrew.mxcl.mysql.plist 

Després, fes les següents edicions… Per cridar mysqld directament, edita la línia: /usr/local/opt/mysql/bin/mysqld_safe i canvia-la a: /usr/local/opt/mysql/bin/mysqld Per afegir el compte d’usuari que voldràs que executi el procés mysqld, afegeix la següent línia sota la línia <key>ProgramArguments</key>: --user=usuari_mysql_aqui on usuari_mysql_aqui és el nom d’usuari unix del compte amb què vols que s’executi el procés MySQL. Després de <key>RunAtLoad</key> <true/>, afegeix les dues línies següents: <key>UserName</key> <string>usuari_mysql_aqui</string> Assegura’t que la ruta del teu WorkingDirectory porti a la carpeta on es troben les teves dades de MySQL. En el meu cas, això era /usr/local/var/mysql : <key>WorkingDirectory</key> <string>/usr/local/var/mysql</string>

Aquí tens el contingut complet del fitxer plist amb totes les modificacions necessàries:”

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>KeepAlive</key> <true/>
  <key>Label</key> <string>homebrew.mxcl.mysql</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/opt/mysql/bin/mysqld</string>
    <string>--bind-address=127.0.0.1</string>
    <string>--user=mysqlusergoeshere</string>
  </array>
  <key>RunAtLoad</key> <true/>
  <key>UserName</key> <string>mysqlusergoeshere</string>
  <key>WorkingDirectory</key> <string>/usr/local/var/mysql</string>
</dict>
</plist>

Un cop hagis fet totes les modificacions al fitxer plist, voldràs canviar la propietat i els permisos del fitxer perquè funcioni amb el procés launchctl. Si encara no ho està, canvia el propietari a root i el grup a wheel.

sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

Estableix els permisos adequats canviant el mode de fitxer a 644.

sudo chmod 644 /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

L’últim pas és carregar el plist amb launchctl.

sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

El mysqld hauria de carregar-se immediatament després d’executar aquest darrer comandament. També s’hauria de carregar cada vegada que el sistema s’iniciï. Si fas canvis al fitxer plist i necessites recarregar-lo amb launchctl, assegura’t de descarregar primer el fitxer:

sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

Espero que aquesta guia ajudi a qualsevol que vulgui que el seu MySQL de Homebrew funcioni com un dimoni a OS X Mavericks.”

Font 🚀 MYSQL daemon

Instal·la un entorn virtual de python

Configura el virtualenv - Actualment no sé res sobre això, però Kristian Ollegaard diu que és una bona idea.

sudo pip install virtualenv

Instal·la Django

mkdir tmp
cd tmp
virtualenv .
source bin/activate
pip install Django
django-admin.py startproject helloworld
python helloworld/manage.py runserver

Visita el teu servidor: http://127.0.0.1:8000 – hauries de veure un agradable missatge de benvinguda de Django.

Ho has aconseguit! Felicitats per la teva primera pàgina impulsada per Django.

Per obtenir els arxius font:

  • Connecta amb el codi font en viu i descarrega el projecte Django existent.
  • Inicia la sessió a phpMyAdmin i exporta la base de dades.

Posa-ho en marxa!

Necessites un IDE?

Utilitza el PyCharm Un cop Django estigui instal·lat i funcionant, et recomano que instal·lis el PyCharm. He investigat molt i és realment l’única eina que ofereix suport complet per a Django, inclosa la finalització de codi. Tothom diu que és el millor, de lluny. Pots provar-lo gratuïtament durant 30 dies per descobrir-ho, després només costa 99 $. Si només el necessites per a Python, pots provar la versió gratuïta Community Edition.

Necessites un client FTP?

Sembla que el CyberDuck és bastant bo. És gratuït (donatiu) i gestiona les tasques de SFTP dels meus servidors locals perfectament.

Font 🚀 Mavericks & Django