Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

Python - ImportError: No module named pip._internal.cli.main 두 번째 이야기

전에 써 둔 것과는 달리,

Python - ImportError: No module named pip._internal.cli.main
; https://www.sysnet.pe.kr/2/0/12767

이번에는 virtualenv에서 발생한 것인데,

(myapp) testusr@TESTPC:~/pyenv$ pip
Traceback (most recent call last):
  File "/home/testusr/pyenv/myapp/bin/pip", line 5, in <module>
    from pip._internal.cli.main import main
ImportError: No module named pip._internal.cli.main

다음과 같이 python3 버전으로 잘 연결이 되어 있습니다.

(myapp) testusr@TESTPC:~/pyenv$ which pip
/home/testusr/pyenv/myapp/bin/pip

(myapp) testusr@TESTPC:~/pyenv$ cat /home/testusr/pyenv/myapp/bin/pip
#!/home/testusr/pyenv/myapp/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

아... 진짜 리눅스 환경은 왜 이렇게 친해질 수가 없는지... ^^;;;

암튼, 찾다 보니 python3의 출력이 좀 이상합니다.

(myapp) testusr@TESTPC:~/pyenv$ python3 -V
Python 2.7.18

왜 python3라는 이름을 갖고 있으면서 2.7.x 출력을 하게 되었는지... ^^; (그래요, 제가 뭔가 잘못한 것이 있을 것입니다.)

일단, vitualenv를 삭제하고 다시 설치 후,

$ pip uninstall virtualenv
$ pip install virtualenv

새롭게 가상 환경을 만들었더니,

~$ mkdir pyenv
~$ cd pyenv
~/pyenv$ virtualenv myapp
created virtual environment CPython3.8.10.final.0-64 in 346ms
  creator CPython3Posix(dest=/home/testusr/pyenv/myapp, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/testusr/.local/share/virtualenv)
    added seed packages: pip==21.2.3, setuptools==57.4.0, wheel==0.37.0
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator

출력에 CPython3.8.10.x으로 나온 것을 보아 뭔가 느낌이 좋습니다. ^^ 실제로 문제도 해결되었고.

~/pyenv$ source ./myapp/bin/activate
(myapp) testusr@TESTPC:~/pyenv$ python3 -V
Python 3.8.10
(myapp) testusr@TESTPC:~/pyenv$ python -V
Python 3.8.10

(myapp) testusr@TESTPC:~/pyenv$ pip install Django
Collecting Django
  Using cached Django-3.2.6-py3-none-any.whl (7.9 MB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.4.1-py3-none-any.whl (42 kB)
Collecting pytz
  Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Collecting asgiref<4,>=3.3.2
  Using cached asgiref-3.4.1-py3-none-any.whl (25 kB)
Installing collected packages: sqlparse, pytz, asgiref, Django
Successfully installed Django-3.2.6 asgiref-3.4.1 pytz-2021.1 sqlparse-0.4.1

(myapp) testusr@TESTPC:~/pyenv$ pip install uwsgi
Collecting uwsgi
  Using cached uWSGI-2.0.19.1-cp38-cp38-linux_x86_64.whl
Installing collected packages: uwsgi
Successfully installed uwsgi-2.0.19.1




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 8/11/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  [77]  78  79  80  81  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
12103정성태1/7/202027721DDK: 8. Visual Studio 2019 + WDK Legacy Driver 제작- Hello World 예제 [1]파일 다운로드2
12102정성태1/6/202022255디버깅 기술: 152. User 권한(Ring 3)의 프로그램에서 _ETHREAD 주소(및 커널 메모리를 읽을 수 있다면 _EPROCESS 주소) 구하는 방법
12101정성태1/5/202024614.NET Framework: 876. C# - PEB(Process Environment Block)를 통해 로드된 모듈 목록 열람
12100정성태1/3/202021432.NET Framework: 875. .NET 3.5 이하에서 IntPtr.Add 사용
12099정성태1/3/202024612디버깅 기술: 151. Windows 10 - Process Explorer로 확인한 Handle 정보를 windbg에서 조회 [1]
12098정성태1/2/202024496.NET Framework: 874. C# - 커널 구조체의 Offset 값을 하드 코딩하지 않고 사용하는 방법 [3]
12097정성태1/2/202021801디버깅 기술: 150. windbg - Wow64, x86, x64에서의 커널 구조체(예: TEB) 구조체 확인
12096정성태12/30/201923245디버깅 기술: 149. C# - DbgEng.dll을 이용한 간단한 디버거 제작 [1]
12095정성태12/27/201925828VC++: 135. C++ - string_view의 동작 방식
12094정성태12/26/201924939.NET Framework: 873. C# - 코드를 통해 PDB 심벌 파일 다운로드 방법
12093정성태12/26/201923507.NET Framework: 872. C# - 로딩된 Native DLL의 export 함수 목록 출력파일 다운로드1
12092정성태12/25/201921264디버깅 기술: 148. cdb.exe를 이용해 (ntdll.dll 등에 정의된) 커널 구조체 출력하는 방법
12091정성태12/25/201925198디버깅 기술: 147. pdb 파일을 다운로드하기 위한 symchk.exe 실행에 필요한 최소 파일 [1]
12090정성태12/24/201924623.NET Framework: 871. .NET AnyCPU로 빌드된 PE 헤더의 로딩 전/후 차이점 [1]파일 다운로드1
12089정성태12/23/201921952디버깅 기술: 146. gflags와 _CrtIsMemoryBlock을 이용한 Heap 메모리 손상 여부 체크
12088정성태12/23/201921836Linux: 28. Linux - 윈도우의 "Run as different user" 기능을 shell에서 실행하는 방법
12087정성태12/21/201921945디버깅 기술: 145. windbg/sos - Dictionary의 entries 배열 내용을 모두 덤프하는 방법 (do_hashtable.py) [1]
12086정성태12/20/201925602디버깅 기술: 144. windbg - Marshal.FreeHGlobal에서 발생한 덤프 분석 사례
12085정성태12/20/201923921오류 유형: 586. iisreset - The data is invalid. (2147942413, 8007000d) 오류 발생 - 두 번째 이야기 [1]
12084정성태12/19/201923546디버깅 기술: 143. windbg/sos - Hashtable의 buckets 배열 내용을 모두 덤프하는 방법 (do_hashtable.py) [1]
12083정성태12/17/201925972Linux: 27. linux - lldb를 이용한 .NET Core 응용 프로그램의 메모리 덤프 분석 방법 [2]
12082정성태12/17/201924504오류 유형: 585. lsof: WARNING: can't stat() fuse.gvfsd-fuse file system
12081정성태12/16/201927224개발 환경 구성: 465. 로컬 PC에서 개발 중인 ASP.NET Core 웹 응용 프로그램을 다른 PC에서도 접근하는 방법 [5]
12080정성태12/16/201923302.NET Framework: 870. C# - 프로세스의 모든 핸들을 열람
12079정성태12/13/201925961오류 유형: 584. 원격 데스크톱(rdp) 환경에서 다중 또는 고용량 파일 복사 시 "Unspecified error" 오류 발생
12078정성태12/13/201926124Linux: 26. .NET Core 응용 프로그램을 위한 메모리 덤프 방법 [3]
... 76  [77]  78  79  80  81  82  83  84  85  86  87  88  89  90  ...