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