问题描述
我正在尝试从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 (将#修改为@)