Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python 3.5中带预提交的Pylint设置_Python_Python 3.x_Python 3.5_Pylint_Pre Commit.com - Fatal编程技术网

python 3.5中带预提交的Pylint设置

python 3.5中带预提交的Pylint设置,python,python-3.x,python-3.5,pylint,pre-commit.com,Python,Python 3.x,Python 3.5,Pylint,Pre Commit.com,我试图在我的项目中使用预提交设置pylint。 我来回答他们告诉我如何设置我的.pre-commit config.yaml 当我去回答中提到的问题时,他们写道 此镜像存储库已弃用,请直接使用 因此,我将我的.pre-commit config.yaml文件设置如下 - repo: https://github.com/pycqa/pylint rev: pylint-2.4.4 hooks: - id: pylint args:

我试图在我的项目中使用
预提交
设置
pylint

我来回答他们告诉我如何设置我的
.pre-commit config.yaml

当我去回答中提到的问题时,他们写道

此镜像存储库已弃用,请直接使用

因此,我将我的
.pre-commit config.yaml
文件设置如下

-   repo: https://github.com/pycqa/pylint
    rev: pylint-2.4.4
    hooks:
    -   id: pylint
        args:
        - --limit=8
        - --rcfile=$PROJECT_ROOT/.pylintrc
但是现在当我试着去做

$ pre-commit run
它给出了以下错误:

An unexpected error has occurred: CalledProcessError: command: ('/Users/userabc/.cache/pre-commit/repokxyo7uuq/py_env-default/bin/python', '/Users/userabc/.cache/pre-commit/repokxyo7uuq/py_env-default/bin/pip', 'install', '.')
return code: 1
expected return code: 0
stdout:
    Processing /Users/userabc/.cache/pre-commit/repokxyo7uuq

stderr:
        ERROR: Command errored out with exit status 1:
         command: /Users/userabc/.cache/pre-commit/repokxyo7uuq/py_env-default/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/setup.py'"'"'; __file__='"'"'/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/pip-egg-info
             cwd: /private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/
        Complete output (7 lines):
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/setup.py", line 60, in <module>
            long_description = stream.read()
          File "/Users/userabc/.pyenv/versions/3.5.2/lib/python3.5/encodings/ascii.py", line 26, in decode
            return codecs.ascii_decode(input, self.errors)[0]
        UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 4020: ordinal not in range(128)
        ----------------------------------------
    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Check the log at /Users/userabc/.cache/pre-commit/pre-commit.log
发生意外错误:调用的进程错误:命令:('/Users/userabc/.cache/pre-commit/repokxyo7uuq/py_env-default/bin/python','/Users/userabc/.cache/pre-commit/repokxyo7uq/py_env-default/bin/pip','install','
返回代码:1
预期返回代码:0
标准:
处理/Users/userabc/.cache/pre-commit/repokxyo7uuq
标准:
错误:命令出错,退出状态为1:
命令:/Users/userabc/.cache/pre-commit/repokxyo7uuq/py_env-default/bin/python-c'import sys,setuptools,tokenize;sys.argv[0]=“private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/setup.py”__文件“'/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/setup.py'”;f=getattr(标记化,“'open'”,open)(\uuuuu文件);code=f.read().replace(“\r\n”“”、“\n”“”);f、 close();exec(编译(代码,“‘exec’”)‘蛋’信息——蛋库/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/pip蛋信息
cwd:/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/
完整输出(7行):
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/private/var/folders/gm/t0h6v8jx4bqd6cj73_k27myw0000gp/T/pip-req-build-5vjdd9f2/setup.py”,第60行,in
long_description=stream.read()
文件“/Users/userabc/.pyenv/versions/3.5.2/lib/python3.5/encodings/ascii.py”,第26行,解码
返回编解码器。ascii_解码(输入,自身错误)[0]
UnicodeDecodeError:“ascii”编解码器无法解码位置4020处的字节0xc2:序号不在范围内(128)
----------------------------------------
错误:命令出错,退出状态为1:python setup.py egg_info检查日志以获得完整的命令输出。
检查/Users/userabc/.cache/pre-commit/pre-commit.log上的日志
我的项目和虚拟环境的python版本是
3.5.2


这是
pylint
pre-commit
中的错误吗?还是我做错了什么?

看起来您运行的环境中设置了损坏/不正确的区域设置

通过运行
env | grep-E'(LC | LANG)
或者
python3-m locale

如果配置正确,python应该选择
UTF-8
编码——通常可以更正
.bashrc
/等设置为无效区域设置的内容,也可以自己设置

常见值为:
LANG=C.UTF-8
LANG=en_US.UTF-8


编辑:我也在修复派林

  • 首先使用下面的命令

    pip install -U setuptools
    
    或者,您可以创建新的虚拟环境

  • 然后手动运行预提交以确认配置

    pre-commit run --all-files
    
    然后您可以完成pylint配置,如

  • 回购:


    所以我做了
    env|grep-E'(LC|LANG)
    &我得到的输出是
    LC|CTYPE=C
    。我还运行了
    python3-m语言环境
    ,得到了输出。我的
    .zshrc
    上的相关内容是。请注意,我在虚拟环境中运行这些命令
    LANG=en_US.UTF-8
    已存在于my
    .zshrc
    中。我在这里遗漏了什么?除非导出这些变量(
    export LANG=…
    ),否则您的zshrc不会做任何事情。噢,对不起,我的错,我在
    中导出LANG=en_US.UTF-8
    ,尝试在终端中回显它,然后运行
    $pre commit run
    ,问题仍然存在。同样的错误。这与您的
    python-m语言环境
    输出或示例zshrc粘贴不匹配,因此缺少一些内容。您能否粘贴这些输出和完整的zshrc?如果操作正确,您应该看到以下内容:
    rev: pylint-2.4.4
    hooks:
    -   id: pylint
        args:
        - --max-line-length=80
        - --ignore-imports=yes
        - -d duplicate-code