[python] WSL pipenv install시 왜 Windows 측 python이 호출되는 건
개요
환경
현상
python3.8이 된 후 처음으로 WSL로 프로젝트에 pipenv를 install하려고하면 낯선 오류가. . .
user@***:~/prj$ pipenv --python 3.8
# ~~中略~~
'TypeError: write() takes exactly one argument (3 given)\n']
로그를 제대로 읽었을 때, 아무래도 윈도우 측의 파이썬을 읽는 모양
OSError: [Errno 8] Exec format error: '/mnt/c/Users/user/AppData/Local/Microsoft/WindowsApps/python.exe'
일단 파이썬을 3.7.4로 되돌려 보았지만 변함없이. . .
원인은 아무래도 이것 같다 #3488
이 issue, 상태는 close이지만 근본적으로 해결되지 않은 것 같습니다.
우선 급격한 대책이 실려 있기 때문에 이번에는 그렇게 할 것입니다.
대책
방법은 매우 간단합니다. install 할 python을 버전 지정이 아닌 전체 경로로 직접 지정합니다.
# 【方法1】バージョン指定していれる場合(例:3.7.4)
# パスはフルパスで指定してください(~/.pyenv...は不可)
pipenv install --python=/home/ユーザー名/.pyenv/versions/3.7.4/bin/python
# 【方法2】globalなpythonを入れる場合(止めておいた方がいい??)
pipenv install --python=$(which python)
조금 신경이 쓰인 것이 global을 바꿀 때 글로벌 파이썬 파일 /home/ユーザー名/.pyenv/shims/python
것.
그렇다면 방법 1입니까 (패스 지정 귀찮아... )
Reference
이 문제에 관하여([python] WSL pipenv install시 왜 Windows 측 python이 호출되는 건), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mossan_hoshi/items/bfa90ae1003e45cefe33
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
user@***:~/prj$ pipenv --python 3.8
# ~~中略~~
'TypeError: write() takes exactly one argument (3 given)\n']
OSError: [Errno 8] Exec format error: '/mnt/c/Users/user/AppData/Local/Microsoft/WindowsApps/python.exe'
방법은 매우 간단합니다. install 할 python을 버전 지정이 아닌 전체 경로로 직접 지정합니다.
# 【方法1】バージョン指定していれる場合(例:3.7.4)
# パスはフルパスで指定してください(~/.pyenv...は不可)
pipenv install --python=/home/ユーザー名/.pyenv/versions/3.7.4/bin/python
# 【方法2】globalなpythonを入れる場合(止めておいた方がいい??)
pipenv install --python=$(which python)
조금 신경이 쓰인 것이 global을 바꿀 때 글로벌 파이썬 파일
/home/ユーザー名/.pyenv/shims/python
것.그렇다면 방법 1입니까 (패스 지정 귀찮아... )
Reference
이 문제에 관하여([python] WSL pipenv install시 왜 Windows 측 python이 호출되는 건), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mossan_hoshi/items/bfa90ae1003e45cefe33텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)