Ali*_*pqb 6 python django pre-commit django-rest-framework pre-commit.com
我正在尝试通过预提交来自动化我的测试和代码静态分析。我.pre-commit-config.yaml的如下所示:
# .
# .
# .
- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v0.910'
hooks:
- id: mypy
args: [--no-strict-optional, --ignore-missing-imports]
exclude: "[a-zA-Z]*/[a-zA-Z]*/(migrations)/(.)*"
additional_dependencies: [
'tokenize-rt,
'djangorestframework-stubs',
'django-stubs',
]
Run Code Online (Sandbox Code Playgroud)
是pyproject.toml:
[tool.mypy]
python_version = "3.8"
plugins = ["mypy_django_plugin.main", "mypy_drf_plugin.main"]
[mypy.plugins.django-stubs]
django_settings_module = "api.shop.shop.settings"
Run Code Online (Sandbox Code Playgroud)
当我运行时pre-commit run --all-files出现以下错误:
Error constructing plugin instance of NewSemanalDjangoPlugin
Traceback (most recent call last):
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/bin/mypy", line 8, in <module>
sys.exit(console_entry())
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/lib/python3.8/site-packages/mypy/__main__.py", line 11, in console_entry
main(None, sys.stdout, sys.stderr)
File "mypy/main.py", line 87, in main
File "mypy/main.py", line 165, in run_build
File "mypy/build.py", line 179, in build
File "mypy/build.py", line 229, in _build
File "mypy/build.py", line 475, in load_plugins
File "mypy/build.py", line 453, in load_plugins_from_config
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/lib/python3.8/site-packages/mypy_django_plugin/main.py", line 104, in __init__
self.django_context = DjangoContext(django_settings_module)
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/lib/python3.8/site-packages/mypy_django_plugin/django/context.py", line 88, in __init__
apps, settings = initialize_django(self.django_settings_module)
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/lib/python3.8/site-packages/mypy_django_plugin/django/context.py", line 72, in initialize_django
apps.populate(settings.INSTALLED_APPS)
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "/home/alipqb/.cache/pre-commit/repo94ds7xs0/py_env-python3.8/lib/python3.8/site-packages/django/apps/config.py", line 224, in create
import_module(entry)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rest_framework'
Run Code Online (Sandbox Code Playgroud)
但我已经在我的环境中安装了djangoresetframework和。djangorestframework-stubs这里有什么问题?
预提交在隔离环境中运行其工具,您可以根据mirrors-mypy自述文件additional_dependencies中所述控制依赖关系(正如您已经看到的那样(!))
看起来mypy_django_plugin缺少依赖项 - 特别是它尝试导入django,rest-framework因此您需要确保将这些依赖项包含在其中additional_dependencies
请注意,您不需要tokenize-rt——这只是自述文件中的一个示例,因此您可以将其删除
免责声明:我创建了预提交
| 归档时间: |
|
| 查看次数: |
6702 次 |
| 最近记录: |