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

비밀번호

댓글 작성자
 




... 46  47  48  49  50  51  52  53  54  55  56  57  58  59  [60]  ...
NoWriterDateCnt.TitleFile(s)
12471정성태1/1/202119566.NET Framework: 992. C# - .NET Core 3.0 이상부터 제공하는 runtimeOptions의 rollForward 옵션 [1]
12470정성태12/30/202019618.NET Framework: 991. .NET 5 응용 프로그램에서 WinRT API 호출 [1]파일 다운로드1
12469정성태12/30/202023859.NET Framework: 990. C# - SendInput Win32 API를 이용한 가상 키보드/마우스 [1]파일 다운로드1
12468정성태12/30/202020660Windows: 186. CMD Shell의 "Defaults"와 "Properties"에서 폰트 정보가 다른 문제 [1]
12467정성태12/29/202020600.NET Framework: 989. HttpContextAccessor를 통해 이해하는 AsyncLocal<T> [1]파일 다운로드1
12466정성태12/29/202018014.NET Framework: 988. C# - 지연 실행이 꼭 필요한 상황이 아니라면 singleton 패턴에서 DCLP보다는 static 초기화를 권장 [1]파일 다운로드1
12465정성태12/29/202021733.NET Framework: 987. .NET Profiler - FunctionID와 연관된 ClassID를 구할 수 없는 문제
12464정성태12/29/202019452.NET Framework: 986. pptfont.exe - PPT 파일에 숨겨진 폰트 설정을 일괄 삭제
12463정성태12/29/202018440개발 환경 구성: 520. RDP(mstsc.exe)의 다중 모니터 옵션 /multimon, /span
12462정성태12/27/202020968디버깅 기술: 177. windbg - (ASP.NET 환경에서 유용한) netext 확장
12461정성태12/21/202020664.NET Framework: 985. .NET 코드 리뷰 팁 [3]
12460정성태12/18/202018694기타: 78. 도서 소개 - C#으로 배우는 암호학
12459정성태12/16/202020295Linux: 35. C# - 리눅스 환경에서 클라이언트 소켓의 ephemeral port 재사용파일 다운로드1
12458정성태12/16/202017445오류 유형: 694. C# - Task.Start 메서드 호출 시 "System.InvalidOperationException: 'Start may not be called on a task that has completed.'" 예외 발생 [1]
12457정성태12/15/202018412Windows: 185. C# - Windows 10/2019부터 추가된 SIO_TCP_INFO파일 다운로드1
12456정성태12/15/202019438VS.NET IDE: 156. Visual Studio - "Migrate packages.config to PackageReference"
12455정성태12/15/202018845오류 유형: 693. DLL 로딩 시 0x800704ec - This Program is Blocked by Group Policy [1]
12454정성태12/15/202019355Windows: 184. Windows - AppLocker의 "DLL Rules"를 이용해 임의 경로에 설치한 DLL의 로딩을 막는 방법 [1]
12453정성태12/14/202020350.NET Framework: 984. C# - bool / BOOL / VARIANT_BOOL에 대한 Interop [1]파일 다운로드1
12452정성태12/14/202020704Windows: 183. 설정은 가능하지만 구할 수는 없는 TcpTimedWaitDelay 값
12451정성태12/14/202018231Windows: 182. WMI Namespace를 열거하고, 그 안에 정의된 클래스를 열거하는 방법 [5]
12450정성태12/13/202019538.NET Framework: 983. C# - TIME_WAIT과 ephemeral port 재사용파일 다운로드1
12449정성태12/11/202020595.NET Framework: 982. C# - HttpClient에서의 ephemeral port 재사용 [2]파일 다운로드1
12448정성태12/11/202022161.NET Framework: 981. C# - HttpWebRequest, WebClient와 ephemeral port 재사용파일 다운로드1
12447정성태12/10/202020298.NET Framework: 980. C# - CopyFileEx API 사용 예제 코드파일 다운로드1
12446정성태12/10/202021309.NET Framework: 979. C# - CoCreateInstanceEx 사용 예제 코드파일 다운로드1
... 46  47  48  49  50  51  52  53  54  55  56  57  58  59  [60]  ...