我在Macports / Django安装问题上发现了很多帖子,但似乎都没有解决我的问题。
使用
从命令行使用Macports安装Djangosudo 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不同。
任何帮助表示赞赏!
丹尼斯
答案 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也会添加到端口选择机制中,因此您可以设置默认版本。