Django Coverage ModuleNotFoundError: No module named 'django_extensions'
Django Coverage ModuleNotFoundError: No module named 'django_extensions'
我浏览了 SO 帖子,浏览了随机晦涩的博客,但似乎无法在这里解决我的问题。
这就是我处理这一切的方式:
我创建了一个全新的虚拟环境:
virtualenv venv
我安装了所有要求:
pip install -r requirements.txt
根据 LocalFlavor Documentation 我安装了 pip django-localflavor
但是当我尝试 运行 覆盖我的应用程序时 per the django docs:
coverage run --source='.' manage.py test 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',
]
就在上周我有这个 运行ning,但我一定是在最近的一次会议上搞砸了,当时我 运行ning 通过一些教程或其他东西 - 但我在其他虚拟这些教程的环境 - 所以我很困惑。
如果我像这样移动我安装的应用程序的顺序:
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',
]
它给我同样的未找到模块错误 - 除了它说找不到模块 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
才能正常工作。
我浏览了 SO 帖子,浏览了随机晦涩的博客,但似乎无法在这里解决我的问题。
这就是我处理这一切的方式:
我创建了一个全新的虚拟环境:
virtualenv venv
我安装了所有要求:
pip install -r requirements.txt
根据 LocalFlavor Documentation 我安装了 pip django-localflavor
但是当我尝试 运行 覆盖我的应用程序时 per the django docs:
coverage run --source='.' manage.py test 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',
]
就在上周我有这个 运行ning,但我一定是在最近的一次会议上搞砸了,当时我 运行ning 通过一些教程或其他东西 - 但我在其他虚拟这些教程的环境 - 所以我很困惑。
如果我像这样移动我安装的应用程序的顺序:
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',
]
它给我同样的未找到模块错误 - 除了它说找不到模块 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
既然你提到它只在你 运行 coverage
时发生,它很可能会发生,因为 coverage
没有使用你的 virtualenv,而是你的全局 python 改为安装。
之前在这里发布过类似问题的问题 - Running coverage inside virtualenv
显然,您还需要在 virtualenv 中安装 coverage
才能正常工作。