python - Django 覆盖 ModuleNotFoundError : No module named 'django_extensions'

标签 python django python-3.x code-coverage coverage.py

我浏览了 SO 帖子,浏览了随机晦涩的博客,但我似乎无法在这里解决我的问题。

这就是我处理这一切的方式:

我创建了一个全新的虚拟环境:

virtualenv venv

我安装了所有要求:

pip install -r requirements.txt

根据 LocalFlavor Documentation我 pip 安装了 django-localflavor

但是当我尝试对我的应用程序运行覆盖时 per the django docs :

覆盖运行 --source='.' manage.py 测试 visitor_check_in

我得到错误'No module named 'localflavor'...

我安装的应用程序如下所示:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admindocs',
    'localflavor',
    'visitor_check_in',
    'django_extensions',
]

就在上周,我运行了这个程序,但我一定是在最近的一次 session 上搞砸了一些教程或其他东西——但我在其他虚拟环境中运行这些教程——所以我很困惑。

如果我像这样移动我安装的应用程序的顺序:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admindocs',
    'visitor_check_in',
    'django_extensions',
    'localflavor',
]

它给了我同样的 no module found 错误 - 除了它说找不到模块 django_extensions

回溯看起来像这样:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
    django.setup()
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/apps/config.py", line 94, in create
    module = import_module(entry)
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django_extensions'

正如我所说 - 以前,我对此没有任何问题,但现在对于我来说,我无法找出为什么这不起作用。我有一种下沉的感觉,有一些真的很简单的东西我忽略了,但我找不到它。

我可以确认我使用的是 Python 3.6 和最新版本的 pip

编辑添加:我可以使用 import localflavor

在 Python shell 中导入库

最佳答案

因为你提到它只在你运行 coverage 时发生,所以它很可能正在发生,因为 coverage 没有使用你的 virtualenv,而是你的全局 python 安装相反。

之前曾在此处发布过具有类似问题的问题 - Running coverage inside virtualenv

显然,您还需要在您的 virtualenv 中安装 coverage 才能按预期工作。

关于python - Django 覆盖 ModuleNotFoundError : No module named 'django_extensions' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50378166/

相关文章:

python - 使用Python解码JSON,导出jqGrid时出错

python - 从 PySpark DataFrame 中的 Python 列表列表中删除一个元素

python - ValueError : Can not squeeze dim[1], 期望维度为 1,'sparse_softmax_cross_entropy_loss 得到 3

django - 如何通过 HTTPS 提供 Django 静态文件?

python - 如何自动运行爬虫?

python - 在其类 block 之外定义对象方法,有什么理由不这样做?

python-3.x - python中的静默错误处理?

python - 如何在没有numpy循环的情况下分配给大矩阵中的方形子矩阵

python - 在以某种格式获取输入并将其以所需格式存储在 python 中时存在错误

python - 属性错误: type object 'MyUser' has no attribute 'USERNAME_FIELD'