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.”
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.