본문 바로가기
개발자 전향 프로젝트

pip install 중에 발생하는 코덱 에러 : UnicodeDecodeError 'cp949' codec

by 샘오리 2024. 5. 28.
728x90
반응형

간단하게 말해 setup.py를 읽다가 생긴 인코딩 문제로 주로 README.md를 읽다가 발생한다.

해결할 수 있는 방법은 다음과 같다.

 

수동으로 파일을 다운받는다.

 

예시: https://pypi.org/project/JSON-log-formatter/#files

 

JSON-log-formatter

JSON log formatter

pypi.org

예시로 사용될 라이브러리이다. 위 링크를 들어가게 되면 

간단하게 명령어로 다운받을 수도 있지만 수동으로 파일을 다운받을 수도 있다.

 

 

파일을 다운받고 그 파일을 열어서 setup.py를 보게 되면 아래와 같은 내용이 있을 것이다.

먼저 에러메세지를 보더라도 어느 라인에서 에러가 발생했는지 친절하게 알려주니 그걸 참고해도 좋다.

 

from setuptools import setup

setup(
    name='JSON-log-formatter',
    version='1.0',
    license='MIT',
    packages=['json_log_formatter'],
    author='Marsel Mavletkulov',
    url='https://github.com/marselester/json-log-formatter',
    description='JSON log formatter',
    long_description=open('README.rst').read(),
    classifiers=[
        'License :: OSI Approved :: MIT License',
        'Intended Audience :: Developers',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Topic :: Software Development :: Libraries :: Python Modules'
    ],
)

 

문제가 되는 라인이 한눈에 안보인다면 open을 찾거나 README를 찾으면 된다.

아무튼 해당 라인에 "UTF-8" 이라는 인코딩을 넣어줘야 하는데 아래와 같은 포맷으로 넣어주면 된다. 

 

from setuptools import setup

setup(
    name='JSON-log-formatter',
    version='1.0',
    license='MIT',
    packages=['json_log_formatter'],
    author='Marsel Mavletkulov',
    url='https://github.com/marselester/json-log-formatter',
    description='JSON log formatter',
    long_description=open('README.rst', 'r', encoding='utf-8').read(),
    classifiers=[
        'License :: OSI Approved :: MIT License',
        'Intended Audience :: Developers',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Topic :: Software Development :: Libraries :: Python Modules'
    ],
)

 

이렇게 수정해주고, 저장해주고, 다시 터미널로 돌아와서 해당 파일이 있는 경로로 가준다.

그리고 그 경로에서 아래 명령어를 실행시켜주면

pip install .

 

기존에 났던 UnicodeDecodeError 'cp949' codec 에러가 발생하지 않고 바로 설치가 되는 것을 확인할 수 있다.

728x90
반응형