안녕하세요. 파이썬 시작한지 일주일도 안된 초보입니다.

장고 프레임워크를 이용해서 페이스북 모방하는 프로젝트가 있길래 따라해보면 좋을 것 같아서
파이참을 이용해서 가상환경을 설정하려고 했는데요…

가상환경을 구축하려고 하면, 항상 아래와 같은 에러 메세지가 뜹니다. 아무리 구글링해봐도 비슷한 오류 케이스를 발견하지 못해서 불가피하게 여기에 질문드리게 되었습니다…

고수 분들의 작은 도움이 저에게는 빛과 소금이 됩니다. 감사합니다.

Executed command:
C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip install --no-index setuptools-44.1.0-py2.py3-none-any.whl
Error Occured:
Error: Exception:
Command Output:
Processing c:\program files\jetbrains\pycharm community edition 2020.1.1\plugins\python-ce\helpers\setuptools-44.1.0-py2.py3-none-any.whl
Installing collected packages: setuptools
Attempting uninstall: setuptools
Found existing installation: setuptools 41.2.0

ERROR: Exception:
Traceback (most recent call last):
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\cli\base_command.py”, line 186, in main
status = self.run(options, args)
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\commands\install.py”, line 395, in run
installed = install_given_reqs(
File "C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\req_init
.py", line 63, in install_given_reqs
uninstalled_pathset = requirement.uninstall(
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\req\req_install.py”, line 686, in uninstall
uninstalled_pathset = UninstallPathSet.from_dist(dist)
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\req\req_uninstall.py”, line 456, in from_dist
if not dist_is_local(dist):
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\misc.py”, line 368, in dist_is_local
return is_local(dist_location(dist))
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\misc.py”, line 514, in dist_location
egg_link = egg_link_path(dist)
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\misc.py”, line 490, in egg_link_path
if not virtualenv_no_global() and user_site:
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\virtualenv.py”, line 113, in virtualenv_no_global
return _no_global_under_venv()
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\virtualenv.py”, line 72, in _no_global_under_venv
cfg_lines = _get_pyvenv_cfg_lines()
File “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\virtualenv.py”, line 55, in _get_pyvenv_cfg_lines
return f.read().splitlines() # avoids trailing newlines
UnicodeDecodeError: ‘cp949’ codec can’t decode byte 0xec in position 22: illegal multibyte sequence

안녕하세요.

무슨 명령어를 쳤는데 오류가 뜨던가요?
무엇을 따라했는지 알려주세요.

대충보니까 인코딩 에러인거 같은데 윈도우 쓰세요?

안녕하세요 빠른 도움 정말 감사합니다.

윈도우 10 쓰고 있고, 파이참에서 처음 가상환경 설정할 때, configure -> setting -> 좌측 project interpreter -> interpreter가 없으므로, add 들어가서(참고로 Virtual Environment 입니다) New Environment 사항에 있는 Base Interpreter 3.8.3 python 선택해주고 OK 누른게 전부입니다. OK 누르면 Interpreter가 추가 되려고 하다가, 방금 말씀 드린 Exeception 오류가 뜹니다. python아무리 지우고 깔아봐도 해결이 안되고 있습니다.

python 문제가 아니라
어떤 python 패키지를 설치하려고 하다가 인코딩문제로 오류가 나는거 같은데용.

제가 파이참을 안써서 잘 모르겠습니다.
가상환경 설정하지말고 그냥 해보세요.

아하 그런 문제이군요. 네 가상환경 없이도 가능하니까 일단 그렇게 해보겠습니다. 감사합니다 :))

저도 초보인데 같은 오류로 삽질한 경험이 있어서 댓글 답니다 ㅠㅠ .

utf-8 encoding을 사용하는 파일을 cp949로 읽으려고 해서 나는 오류입니다.
pip install --no-index setuptools-44.1.0-py2.py3-none-any.whl을 실행을 하네요.
아마 저 명령어를 실행하면서 utf-8을 사용하는 어떤 파일을 open하는 것 같은데 한국 윈도우의 기본 엔코딩인 encoding(cp949)로 읽게 돼서 오류가 발생하는 것 같습니다. 이것은 open() 함수에 encoding을 별도로 지정해주지 않아서 나는 오류입니다. 별도로 encoding을 지정해주지 않으면 자동으로 기본 encoding을 사용하는 것 같더라고요 ㅠㅠ.
아무튼 이것은 open() 함수에 어떤 encoding을 사용할 것인지 인자로 넘겨주면 해결됩니다. ex. open()open(encoding="utf-8")로.

파일 “C:\Program Files\JetBrains\PyCharm Community Edition 2020.1.1\plugins\python-ce\helpers\pip-20.0.2-py2.py3-none-any.whl\pip_internal\utils\virtualenv.py” 55번째 Line에서 오류가 나네요.

그 오류가 나는 파일을 직접 열어서 55번째 줄로 가면 아마도 아래와 비슷한 함수가 있을 겁니다. (조금 다를 수 있습니다)

def _get_pyvenv_cfg_lines(): 
    with open('파일명') as f: 
        return f.read().splitlines() # avoids trailing newlines <- 55번째 Line

저기서 open('파일명') 에 encoding을 utf-8로 추가하고(open('파일명', encoding='utf-8')) 다시 시도해보세요.

아마 될겁니다…? 계속 오류가 나면 수동으로 설치하는 방법도 있습니다.

2 Likes

상세하게 알려주셔서 정말 감사합니다…! 다른 많은 편집기를 사용해보았는데 virttualenv.py 파일을 읽지를 못해서 atom 편집기를 이용해서 virtualenv.py 파일을 열었습니다. 주형님이 말씀하신대로 open()함수에 encoding 코드만 추가했는데 아무리 저장을 시도해도 저장이 되지가 않습니다. 제가 보기엔 해당 파일을 수정하는 것이 아예 불가능한 상황인 것 같은데 이게 편집기(atom)를 잘못 선택해서 그런 것인지 다른 문제인지 도무지 모르겠습니다…

참고로 pycharm이나 visual studio code 는 아예 해당 파일을 읽지를 못합니다…ㅠ

다른 편집기를 사용해서 코드를 추가해주어야 하는 걸까요 아니면 다른 문제가 있는 걸까요…

저도 잘모르겠네요…ㅠㅠ 아니면 설치할 때만 윈도우 기본 locale을 utf-8로 바꿔보는건 어떤가요?

아나콘다 설치해서 인터프리터를 바꿔보는걸로 우회될지도 모르겠네요

감사합니다. 시도해보겠습니다!

감사합니다. 시도해보겠습니다!!

혹시나 도움이 되실 분들이 있을까 싶어 후기를 적습니다!
파이참 가상 환경 설정 하는 부분에서 웬만한 해결방법을 적용해 보았으나 해결이 되지 않아서 다른 일을 하고 있었습니다.

Ruby 프로그램을 사용할 일이 있었는데 Ruby에도 동일하게 유니코드 오류가 뜨는 것을 발견했고, (Incompatible encodingerror ) 관련 서칭을 하던 중에 윈도우 사용자 계정에 한글이 있는 경우 여러가지 문제가 생길 가능성이 있다는 것을 알게 되었습니다.

최적의 방법은 아니지만, 백업 한 뒤에 포맷을 한 다음 사용자 계정명을 영어로 바꿨더니 파이참과 루비 둘 다 오류 없이 잘 구동되는 것을 확인하였습니다.

혹시나 저처럼 해결방법을 쉽게 찾지 못하는 초보자 분들이시라면 한 번 참고해보시는 것도 좋을 것 같습니다… 위에 조언 주신 분들 모두 너무 감사합니다.

3 Likes