如何解决与PyCharm一起使用预提交
我正在尝试从PyCharm(v。2020.2)中的“提交”按钮启动我的预提交钩子。
我在使用conda create -n py38 python=3.8
安装模块的地方使用了conda venv(由pip install
创建)。
我的.pre-commit-config.yaml
读为:
repos:
- repo: local
hooks:
- id: black
name: black
language: system
entry: black --check
types: [python]
- id: isort
name: isort
language: system
entry: isort --check-only
types: [python]
我在这里使用local
回购,因为我会将代码推送到未连接到Internet的Intranet存储库中。
从本地计算机上的命令行运行pre-commit run --all-files
可以正常运行。但是,当我尝试通过PyCharm()进行提交时,会引发以下错误:
Traceback (most recent call last):
File "c:\bib\envs\py38\lib\runpy.py",line 193,in _run_module_as_main
return _run_code(code,main_globals,None,File "c:\bib\envs\py38\lib\runpy.py",line 86,in _run_code exec(code,run_globals)
File "c:\bib\envs\py38\lib\site-packages\pre_commit\__main__.py",line 1,in
from pre_commit.main import main
File "c:\bib\envs\py38\lib\site-packages\pre_commit\main.py",line 13,in
from pre_commit.commands.autoupdate import autoupdate
File "c:\bib\envs\py38\lib\site-packages\pre_commit\commands\autoupdate.py",line 14,in
from pre_commit.clientlib import InvalidManifestError
File "c:\bib\envs\py38\lib\site-packages\pre_commit\clientlib.py",line 16,in
from pre_commit.error_handler import FatalError
File "c:\bib\envs\py38\lib\site-packages\pre_commit\error_handler.py",line 10,in
from pre_commit.store import Store
File "c:\bib\envs\py38\lib\site-packages\pre_commit\store.py",line 4,in
import sqlite3
File "c:\bib\envs\py38\lib\sqlite3\__init__.py",line 23,in
from sqlite3.dbapi2 import *
File "c:\bib\envs\py38\lib\sqlite3\dbapi2.py",line 27,in
from _sqlite3 import *
ImportError: DLL load failed while importing _sqlite3: The specified module could not be found.
我认为pre-commit
的github上的this bug report特别重要。如果我了解得很好,则表明PyCharm实际上并未加载venv,因此在此环境中找不到已安装的软件包。但没有提出解决方案。
有人对此有解决方案吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。