- 报错显示
[root@localhost ~]#yum install python36
[root@localhost bin]#pip3 --version
Traceback (most recent call last):
File "/usr/bin/pip3", line 16, in <module>
sys.exit(main())
TypeError: 'module' object is not callable
- 找到__main__.py的路径,把倒数后四行复制到/usr/bin/pip3中
[root@localhost pip]#cat /usr/local/lib/python3.6/site-packages/pip/__main__.py
from __future__ import absolute_import
import os
import sys
# If we are running from a wheel, add the wheel to sys.path
# This allows the usage python pip-*.whl/pip install pip-*.whl
if __package__ == '':
# __file__ is pip-*.whl/pip/__main__.py
# first dirname call strips of '/__main__.py', second strips off '/pip'
# Resulting path is the name of the wheel itself
# Add that to sys.path so we can import pip
path = os.path.dirname(os.path.dirname(__file__))
sys.path.insert(0, path)
from pip._internal.main import main as _main # isort:skip # noqa
if __name__ == '__main__':
sys.exit(_main())
[root@localhost pip]#
- 修改/usr/lib/pip3 ,一个from项,一个if项
[root@localhost pip]#cat /usr/bin/pip3
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
try:
from pip import main
except ImportError:
# user has most probably upgraded pip in their home
# so let them run it anyway until ~/.local/bin makes it in front of the PATH
#from pip._internal import main
from pip._internal.main import main as _main # isort:skip # noqa
#if __name__ == '__main__':
# sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
# sys.exit(main())
if __name__ == '__main__':
sys.exit(_main())
[root@localhost pip]#
- 成功
[root@localhost ~]#pip3 --version
pip 19.3.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
[root@localhost ~]#