Django设置 - 无法导入unipath

时间:2013-02-02 07:55:08

标签: python django settings

我无法弄清楚我做错了什么。请你帮助我好吗? 我有以下目录结构:

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-repositorymy-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 :(得分: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/

这表明出现了问题。

非常感谢大家帮助我。