如何向virtualenv项目添加模块/应用?
我正在尝试在我的电脑上安装 Nathan Burrows 的基础应用程序,链接是 https://github.com/nathanborror/django-basic-apps
这些是用于 Django 项目的简单应用。
要安装任何列出的应用,只需在你的 PYTHONPATH 中创建一个名为 'basic' 的文件夹,并把你想使用的应用放到这个文件夹里。然后在你项目的 settings.py 文件中添加 basic. 前缀。(当然,要用你想用的应用名替换掉这个前缀)。
我已经设置了一个虚拟环境项目,并把 Burrows 的 "blog" 应用文件夹复制粘贴到了我的项目文件夹中。
目录结构:
MainvirtualenvFolder----------->(Basic, Mysite, manage.py)
Basic 文件夹里有 "blog" 应用文件夹。
Mysite 文件夹里有通常的 Django 文件,比如 settings 等等。
我已经在 settings.py 的 "Installed Apps" 中添加了 "basic.blog"。
但是,当我运行 manage.py(当然是在虚拟环境下)时,出现了这个错误:
错误:没有名为 basic.blog 的模块
我哪里做错了?
编辑 -
> ^C(mike)prince@kingdom:~/projects/mike/basicsite$ python manage.py
> syncdb Traceback (most recent call last): File "manage.py", line 10,
> in <module>
> execute_from_command_line(sys.argv) File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/core/management/__init__.py",
> line 443, in execute_from_command_line
> utility.execute() File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/core/management/__init__.py",
> line 382, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/core/management/base.py",
> line 196, in run_from_argv
> self.execute(*args, **options.__dict__) File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/core/management/base.py",
> line 231, in execute
> self.validate() File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/core/management/base.py",
> line 266, in validate
> num_errors = get_validation_errors(s, app) File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/core/management/validation.py",
> line 30, in get_validation_errors
> for (app_name, error) in get_app_errors().items(): File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/db/models/loading.py",
> line 158, in get_app_errors
> self._populate() File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/db/models/loading.py",
> line 67, in _populate
> self.load_app(app_name) File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/db/models/loading.py",
> line 88, in load_app
> models = import_module('.models', app_name) File "/home/prince/projects/mike/local/lib/python2.7/site-packages/django/utils/importlib.py",
> line 35, in import_module
> __import__(name) File "/home/prince/projects/mike/basicsite/basic/blog/models.py", line 10,
> in <module>
> import tagging ImportError: No module named tagging
1 个回答
1
在基本文件夹里放一个 __init__.py
文件。
如果在这个应用里又缺少模块的话:
- 先找一下那个模块
- 用
pip install
来安装它 - 把那个模块添加到你的
settings.py
文件里的INSTALLED_APPS
里