2014-02-21 34 views
0

我在Macports/Django安裝問題上發現了很多帖子,但沒有一篇似乎完全解決了我的情況。安裝的DjangoDjango安裝Wierdness - Mac OSX 10.8.5和Macport Python 2.7.6 - Django/Python/Unix初學者

使用

sudo port install py27-django

這似乎正常工作使用MacPorts的命令行。我打開了IDLE並能夠導入django。下面的代碼位

import django 
from django.core import management 
print django.VERSION 

回報

(1, 5, 1, 'final', 0)

我認爲此處的意思是,我有安裝的Django 1.5.1的最終版本。所以,一切似乎都很好。

不過,現在我切換到我的Django的教程,讓學習,我問這個鍵入命令行來確認安裝的Django:

python -c "import django; print(django.get_version())"

,並出現以下錯誤:

> File "<string>", line 1, in <module> ImportError: No module named 
> django 

其他一些數據位。這裏是我的$ PATH:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin 

最後,該命令

django-admin.py startproject mysite

回報

-bash: django-admin.py: command not found

但命令

django-admin-2.7.py startproject mysite

工程(創建了一個名爲mysite的新目錄工作目錄)。我讀過一些Macports重命名django-admin文件。

我只在Unix上工作了幾個星期,所以這有點令人困惑。看起來我的系統上有Django,但是我試圖從命令行訪問的python與Macports使用的python不同。

任何幫助表示讚賞!

丹尼斯

+2

而不是使用Macports你爲什麼不通過pip安裝Django?例如。 pip安裝Django(用於最新版本)或pip安裝Django = 1.5.1 - 這是一種安裝Django的非常好的方式,事後也會很好地清理一切(即它會卸載舊版本並將django-admin.py設置爲正確放置)。 https://pypi.python.org/pypi/pip – chewynougat

回答

0

您將需要從終端設置你的PYTHONPATH環境變量引用您的Django安裝。 IDLE可能爲你做了這個,但在另一個shell中你需要設置它。你可以通過在〜/ .bashrc或〜/ .bash_profile(或任何你的終端外殼)中設置它來永久地在終端中設置它。

+0

嗨安德魯,感謝您的快速回復。不確定在設置PYTHONPATH時如何識別哪個是正確的路徑。我是否想將PYTHONPATH設置爲不包含MacPorts python程序的文件夾,或者Macports正在存儲Django文件的位置? (也許這些都是一樣的)當我,例如鍵入'找到django-admin.py – user3285962

+0

抱歉被切斷了上面。繼續......例如,當我輸入'locate django-admin.py'到命令行時,我在兩個不同的路徑中找到它:/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin /django-admin.py /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/bin/django-admin.py – user3285962

0

您的PATH以/Library/Frameworks/Python.framework/Versions/2.7/bin開頭,所以當您鍵入python時,您將得到該目錄中的python,這是Apple提供的一個螺母,您已經爲Macports安裝了Django,所以python沒有看到它。

要解決此問題,需要在路徑上比/ Library之前的/ opt/local/bin更早。甚至更好地移除/ Library項並使用port select python ...來選擇運行Macports 2的python。7或Apple或其他人

至於django-admin-2.7.py問題,Macports允許您同時擁有多個版本的Python,因此取決於eth版本的代碼將版本添加到腳本名稱中,例如,如果你安裝了py26-django包,你也可以有一個django-admin-2.6.py。這也適用於python本身,但python也添加到端口選擇機制,因此您設置默認版本。