Django安装Wierdness - Mac OSX 10.8.5和Macport Python 2.7.6 - Django / Python / Unix初学者

时间:2014-02-21 16:24:36

标签: django python-2.7 macports

我在Macports / Django安装问题上发现了很多帖子,但似乎都没有解决我的问题。

使用

从命令行使用Macports安装Django
  

sudo port install py27-django

这似乎工作正常。我打开了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:找不到命令

但命令

  

django-admin-2.7.py startproject mysite

工作(在工作目录中创建一个名为mysite的新目录)。我读过一些Macports重命名django-admin文件。

我只使用Unix几周,所以这有点令人困惑。看起来我的系统上有Django,但是我尝试从命令行访问的python可能与Macports使用的python不同。

任何帮助表示赞赏!

丹尼斯

2 个答案:

答案 0 :(得分:0)

您需要从终端设置PYTHONPATH环境变量以引用您的django安装。 IDLE可能会为你做这个,但是在另一个shell中你需要设置它。您可以通过在〜/ .bashrc或〜/ .bash_profile(或任何终端shell)中设置它来永久地在终端中设置它。

答案 1 :(得分:0)

你的PATH以/Library/Frameworks/Python.framework/Versions/2.7/bin开头,所以当你键入python时,你得到的是该目录中的python,这是Apple提供的一个你为Macports安装了Django的一个,所以python看不到它。

要解决此问题,您需要在路径上使用/ opt / local / bin,而不是/ Library。甚至更好地删除/ Library条目并使用port select python ...来选择运行Macports 2.7或Apple或其他的python

至于django-admin-2.7.py问题,Macports允许您同时拥有多个版本的python,因此依赖于eth版本的代码将版本添加到脚本名称中,例如如果安装了py26-django软件包,你也可以使用django-admin-2.6.py。这也适用于python本身,但是python也会添加到端口选择机制中,因此您可以设置默认版本。