Django设置 -- 无法导入unipath
我搞不清楚自己哪里出错了。你能帮我一下吗?
我有以下的文件夹结构:
project-repository
\-- my-project
\--manage.py
\--my-project
\--__init__.py
\--urls.py
\--wsgi.py
\--settings
\--__init__.py
\--local.py
\--base.py
在 local.py
文件中,我引入了 base.py
。而在 base.py
中,我有 from unipath import Path
这行代码。当我尝试运行 django-admin shell --settings=my-project.settings.local
时,出现了一个错误:
Error: Could not import settings 'my-project.settings.local' (Is it on sys.path?): No module named unipath
当我执行 pip freeze
时,它显示了:
Unipath==0.2.1
而且我可以在 Python 控制台中轻松导入它。此外,我在 PYTHONPATH 中也有 project-repository
和 my-project
。
这里是 unipath.__file__
的输出:
/home/User/.virtualenvs/django.1.4/local/lib/python2.7/site-packages/unipath/__init__.pyc
还有这是 sys.path
输出中的一行:
/home/User/.virtualenvs/django.1.4/local/lib/python2.7/site-packages
你能告诉我我哪里做错了吗?
2 个回答
0
在设置目录里添加一个文件,名字叫做 __init__.py
1
看起来我找到了问题所在。其实我之前搞得一团糟。我在全局环境中安装了django和其他一些应用(这比我开始开发这个项目要早很久)。然后我安装了virtualenvwrapper,并创建了一个虚拟环境。在这个虚拟环境中,我安装了所需的依赖和django。但是当我尝试运行时,我却运行了全局安装的django版本。结果就出现了一些不兼容的问题。
在我卸载了全局包之后,一切都正常了。
我是怎么发现这个问题的呢?非常感谢Jeff Knup和他的一篇文章 《正确开始Django 1.4项目》。我按照文章中的步骤操作,当我运行
(my-virtualenv)$ which django-admin.py
时,它给我显示了以下路径:
/usr/local/bin/django-admin
而它应该显示的是:
$HOME/.virtualenvs/
这就是一个信号,说明有些地方出错了。
非常感谢大家的帮助!