与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(

enter image description here

)进行提交时,会引发以下错误

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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...