복붙노트

[PYTHON] 파이썬에서 비추천 경고를 무시하는 법

PYTHON

파이썬에서 비추천 경고를 무시하는 법

나는 이것을 계속 얻는다.

DeprecationWarning: integer argument expected, got float

이 메시지를 어떻게 사라지게합니까? 파이썬에서 경고를 피할 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.경고 모듈의 문서에서 :

    경고 모듈의 문서에서 :

     #!/usr/bin/env python -W ignore::DeprecationWarning
    

    Windows의 경우 : -W ignore :: DeprecationWarning을 Python의 인수로 전달하십시오. 그래도 문제를 해결하려면 int로 전송하면됩니다.

    (Python 3.2에서, 비추천 경고는 기본적으로 무시됩니다.)

  2. ==============================

    2.나는 이것들을 가지고 있었다 :

    나는 이것들을 가지고 있었다 :

    /home/eddyp/virtualenv/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/persisted/sob.py:12:
    DeprecationWarning: the md5 module is deprecated; use hashlib instead import os, md5, sys
    
    /home/eddyp/virtualenv/lib/python2.6/site-packages/Twisted-8.2.0-py2.6-linux-x86_64.egg/twisted/python/filepath.py:12:
    DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha
    

    해결 방법 :

    import warnings
    
    with warnings.catch_warnings():
        warnings.filterwarnings("ignore",category=DeprecationWarning)
        import md5, sha
    
    yourcode()
    

    이제 여전히 다른 모든 DeprecationWarnings을 얻지 만 다음으로 인해 발생하는 DeprecationWarnings은 가져 오지 않습니다.

    import md5, sha
    
  3. ==============================

    3.코드를 수정해야하지만,

    코드를 수정해야하지만,

    import warnings
    warnings.filterwarnings("ignore", category=DeprecationWarning) 
    
  4. ==============================

    4.C : \ Python26 \ Lib \ site-packages \ sitecustomize.py에 다음을 추가하는 것이 가장 깨끗한 방법입니다 (특히 Windows에서).

    C : \ Python26 \ Lib \ site-packages \ sitecustomize.py에 다음을 추가하는 것이 가장 깨끗한 방법입니다 (특히 Windows에서).

    import warnings
    warnings.filterwarnings("ignore", category=DeprecationWarning)
    

    이 파일을 만들어야한다는 것에 유의하십시오. 물론, 파이썬이 다른 경우 경로를 파이썬으로 변경하십시오.

  5. ==============================

    5.올바른 인수를 전달 하시겠습니까? :피

    올바른 인수를 전달 하시겠습니까? :피

    좀 더 진지한 점은 명령 줄에 -Wi :: DeprecationWarning 인수를 인터프리터에 전달하여 사용 중단 경고를 무시할 수 있다는 것입니다.

  6. ==============================

    6.인수를 int로 변환하십시오. 그것은 다음과 같이 간단합니다.

    인수를 int로 변환하십시오. 그것은 다음과 같이 간단합니다.

    int(argument)
    
  7. ==============================

    7.언급 된 답변 중 아무 것도 나를 위해 일하지 않았으므로 해결 방법을 게시 할 것입니다. 내 main.py 스크립트의 시작 부분에 다음을 사용하고 잘 작동합니다.

    언급 된 답변 중 아무 것도 나를 위해 일하지 않았으므로 해결 방법을 게시 할 것입니다. 내 main.py 스크립트의 시작 부분에 다음을 사용하고 잘 작동합니다.

    다음 내용을 그대로 사용하십시오 (복사하여 붙여 넣기).

    import numpy as np
    import . . . . . . . 
    
    def warn(*args, **kwargs):
        pass
    import warnings
    warnings.warn = warn
    
    # more code here...
    # more code here...
    
  8. ==============================

    8.그것에 대해 당신을 때리지는 않겠지 만, 당신이 다음에 파이썬을 업그레이드 할 때 당신이하고있는 일이 작동을 멈추게 될 것이라는 경고를 받고 있습니다. int로 변환하고 끝내십시오.

    그것에 대해 당신을 때리지는 않겠지 만, 당신이 다음에 파이썬을 업그레이드 할 때 당신이하고있는 일이 작동을 멈추게 될 것이라는 경고를 받고 있습니다. int로 변환하고 끝내십시오.

    BTW. 당신은 또한 당신 자신의 경고 핸들러를 작성할 수있다. 아무것도하지 않는 함수를 할당하면됩니다. 파이썬 경고를 사용자 지정 스트림으로 리디렉션하는 방법?

  9. ==============================

    9.함수에서만 경고를 무시하려면 다음을 수행 할 수 있습니다.

    함수에서만 경고를 무시하려면 다음을 수행 할 수 있습니다.

    import warnings
    from functools import wraps
    
    
    def ignore_warnings(f):
        @wraps(f)
        def inner(*args, **kwargs):
            with warnings.catch_warnings(record=True) as w:
                warnings.simplefilter("ignore")
                response = f(*args, **kwargs)
            return response
        return inner
    
    @ignore_warnings
    def foo(arg1, arg2):
        ...
        write your code here without warnings
        ...
    
    @ignore_warnings
    def foo2(arg1, arg2, arg3):
        ...
        write your code here without warnings
        ...
    

    모든 경고를 무시하려는 함수에 @ignore_warnings 데코레이터를 추가하기 만하면됩니다.

  10. from https://stackoverflow.com/questions/879173/how-to-ignore-deprecation-warnings-in-python by cc-by-sa and MIT license