我无法弄清楚我做错了什么。请你帮助我好吗? 我有以下目录结构:
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
你能指点我做错了吗?
答案 0 :(得分:0)
将文件__init__.py
添加到设置目录
答案 1 :(得分:0)
好像我弄明白了这个问题。我认为我做了很多混乱。我有django和其他应用程序安装全球(早在我开始开发项目之前)。然后我安装了virtualenvwrapper并创建了virtualenv。在virtualenv中工作我安装了所需的依赖项和django。但是当我试图运行时,我运行了全局安装的django版本。结果存在一些不兼容性。 在我卸载全局软件包之后,就可以了。
我怎么知道的?非常感谢Jeff Knup和他的帖子Starting a Django 1.4 Project the Right Way。我走过了所描述的步骤,当我跑步时
(my-virtualenv)$ which django-admin.py
它向我展示了以下路径:
/usr/local/bin/django-admin
虽然应该有:
$HOME/.virtualenvs/
这表明出现了问题。
非常感谢大家帮助我。