如何向virtualenv项目添加模块/应用?

1 投票
1 回答
2021 浏览
提问于 2025-04-17 15:29

我正在尝试在我的电脑上安装 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 文件。

如果在这个应用里又缺少模块的话:

  1. 先找一下那个模块
  2. pip install 来安装它
  3. 把那个模块添加到你的 settings.py 文件里的 INSTALLED_APPS

撰写回答