Mac OS に Django をインストールする。

Mac OSDjango をインストールする3つの方法を述べています。

Case1. MacPort
Case2. pip
Case3. ダウンロードで(手動で)

Case1. MacPort で

Installing a distribution-specific package
 
これは py-django と pyXX-django の、どっちをインストールすればいいんだ。
XX は Python のバージョン。3.3 なら py33-django となります。

$ port search django | grep ^py
py-django @1.5.1 (python, www)
...
py27-django-nose @0.1.3 (python, devel)
py27-south @0.8.1 (python, www)
py27-tastypie @0.9.9 (python, www)
py31-django-nose @0.1.3 (python, devel)
py32-django @1.5.1 (python, www)
py32-django-nose @0.1.3 (python, devel)
py33-django @1.5.1 (python, www)

(。-`ω-)ンー
とりあえず pyXX-django

$ sudo port install py33-django
--->  Computing dependencies for py33-django
...
--->  No broken files found.

インストールできたっぽい。
 

インストール確認。

$ python
>>> import django
>>> print(django.get_version())
1.5.1

 

そして、冷静に考えてみると、Python 3.3 に対して Django 1.5 は experimental ということなので

1.5 | 2.6, 2.7 and 3.2, 3.3 (experimental)

What Python version can I use with Django?

 

アンインストール

さっそく uninstall に (´;ω;`)ブワッ

$ sudo port uninstall py33-django
Password:
--->  Deactivating py33-django @1.5.1_0
--->  Cleaning py33-django
--->  Uninstalling py33-django @1.5.1_0
--->  Cleaning py33-django

 




Case2. pip で気を取り直して

Installing an official release with pip
pip でインストールする方法が記載してあったので、それに従うことに。
 

pip をインストール

$ port search pip | grep ^py
...
py32-pip @1.5.6 (python, www)
py33-joblib @0.8.1 (python, devel)
py33-pip @1.5.6 (python, www)
py33-plumbum @1.4.2 (devel, python)
py34-joblib @0.8.1 (python, devel)
py34-pip @1.5.6 (python, www)
py34-plumbum @1.4.2 (devel, python)

 

pyXX-pip を選択。

$ sudo port install py33-pip
--->  Computing dependencies for py33-pip
...
To make the Python 3.3 version of pip the one that is run when you execute the commands without a version suffix, e.g. 'pip', run:
port select --set pip pip33 # <- port select ちゃんとしてね、と。相変わらず、しれっと書いてあります。
...
--->  No broken files found.

 

pip と pip33 を対応付け、

$ sudo port select --set pip pip33
Selecting 'pip33' for 'pip' succeeded. 'pip33' is now active.

 

Django 1.6.5 がダウンロード、インストールされました、とさ。
pip の場合は、バージョンが指定できず、
おそらく Django の1番新しい安定板が供される様子です。

$ sudo pip install Django
Downloading/unpacking Django
  Downloading Django-1.6.5-py2.py3-none-any.whl (6.7MB): 6.7MB downloaded
Installing collected packages: Django
Successfully installed Django
Cleaning up...

 

アンインストール またか... orz

Python 2.6 を使用することにしたので、さらに再インストールへ(´;ω;`)ブワッ
Django は、各 Python のバージョンにあわせて版をだしているのでしょうか。
How to install Django | Django documentation | Django

しかし、こんなディレクトリにはいってたんですね。

$ sudo pip uninstall Django
Uninstalling Django:
  /opt/local/Library/Frameworks/Python.framework/Versions/3.3/bin/__pycache__/django-admin.cpython-33.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/3.3/bin/django-admin.py
...
Proceed (y/n)? y
  Successfully uninstalled Django
$ # 終了(`・ω・´)

 



Case3. ダウンロードしてインストールする方法

右側にこんな記述があるので、そこからダウンロードしてくださいね。Download | Django

For the impatient:
Latest release: Django-1.6.5.tar.gz
Checksum: Django-1.6.5.checksum.txt

 
ファイルを解凍して、コマンドを実行

$ sudo python setup.py install
running install
running build
...
running install_egg_info
Writing /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/Django-1.6.5-py2.6.egg-info
$ # インストール完了
$ # インストール確認
$ python -c "import django; print(django.get_version())"
1.6.5

 

アンインストール

$ # アンインストール時の削除ディレクトリを確認
$ python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"
['/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django']
$ # 削除するだけ
$ rm -rf /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django
$ # 確認
$ python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named django

 


プロジェクトの作成

django-admin.py は、どれを使えばいいんだ(。-`ω-)ンー
Documents 配下のは、インストール前のダウンロードしただけの奴だから違うとして(。-`ω-)ンー
Python 3 でやったときは、site-packages 配下のやつ使って上手く行ったから、それを使うお。

$ find / -name django-admin.py
/Library/WebServer/Documents/Django-1.6.5/build/lib/django/bin/django-admin.py
/Library/WebServer/Documents/Django-1.6.5/build/scripts-2.6/django-admin.py
/Library/WebServer/Documents/Django-1.6.5/django/bin/django-admin.py
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/django-admin.py
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/bin/django-admin.py