Django设置 -- 无法导入unipath

0 投票
2 回答
7709 浏览
提问于 2025-04-17 14:31

我搞不清楚自己哪里出错了。你能帮我一下吗?

我有以下的文件夹结构:

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

在设置目录里添加一个文件,名字叫做 __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/

这就是一个信号,说明有些地方出错了。

非常感谢大家的帮助!

撰写回答