实验环境:
centos6.10 python2.6升级到python2.7
Ubuntu16.04 python2.7升级到python3.5
如何安装pip,这里就不介绍了,主要提一下安装后所遇到的各种问题,同时也将自己所遇到的问题做个小结。
1.ImportError: No module named pkg_resources
这里针对Ubuntu系统给出一种简单的方法,但不确定对centos系统是可行的。
sudo apt-get install python-pkg-resources python-setuptools --reinstall
补充:为了和自己本机上的版本保持一致,笔者将centos6.10中的yum python重新就行了安装。安装后出现了同上面一样的问题,这次实在centos上面,无法按之前的方法进行修正。经过查阅资料,现找到一种可行的方法。
如下所示:
1)安装distribute
wget https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip --no-check-certificate
unzip distribute-0.7.3.zip
cd distribute-0.7.3
python setup.py install
2)安装setuptool
https://pypi.python.org/pypi/setuptools 下载最新版
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz#md5=f07e4b0f4c1c9368fcd980d888b29a65
tar -zxvf setuptools-12.0.3.tar.gz
cd setuptools-12.0.3
python setup.py install
注意: 可能存在某些链接下载失败,这是可先下载到windows系统上。若使用虚拟机,可通过共享文件去传送;若使用xshell之类的工具连接远程机器,可使用wiscp去上传;
3)安装pip
easy_install pip
期间大量参考文章:解决centos中存在问题的参考文章
2. ImportError: No module named _internal
用/usr/local/bin下的pip就import不进来
Traceback (most recent call last):
File "/usr/local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named _internal
想了想可能是pip升级了的原因,直接重新装一个就好
sudo easy_install pip 安装pip,然后就OK了
也可能是和以前的版本发生冲突,需要先删除以前的版本重新安装
sudo apt remove python-pip
3. -bash: pip: command not found
看报错,应该是pip 找不到。原因可能你的python升级过,目录不是在/usr/bin/中,找到/python的安装目录中bin/文件夹里面的pip,做个软链接到/usr/bin目录中即可。如:
ln -s /usr/local/python2.7.3/bin/pip /usr/bin/pip
此种方法还行不通时,可以试下终极办法:
# 找到python所在的路径下的 easy_install,同样可以利用之前提到过的easy_install pip 解决
[root@slave3 local]# whereis python
python: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python /usr/local/bin/python2.7 /usr/local/bin/python2.7-config /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
[root@slave3 local]# cd /usr/local/bin
[root@slave3 bin]# easy_install pip
Searching for pip
Reading https://pypi.org/simple/pip/
Downloading https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl#sha256=7909d0a0932e88ea53a7014dfd14522ffef91a464daaaf5c573343852ef98550
Best match: pip 18.1
Processing pip-18.1-py2.py3-none-any.whl
Installing pip-18.1-py2.py3-none-any.whl to /usr/local/lib/python2.7/site-packages
Adding pip 18.1 to easy-install.pth file
Installing pip script to /usr/local/bin
Installing pip3.7 script to /usr/local/bin
Installing pip3 script to /usr/local/bin
Installed /usr/local/lib/python2.7/site-packages/pip-18.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
# 查看pip 版本
[root@slave3 bin]# pip -V
pip 18.1 from /usr/local/lib/python2.7/site-packages/pip-18.1-py2.7.egg/pip (python 2.7)
此时,即可成功使用pip安装所需模块。
4. configure: error: no acceptable C compiler found in $PATH
若第一次使用可能还会遇到此问题,这个是容易解决的,只需安装C编译器即可。
[root@localhost ~]# yum install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
......
从一名不羁的码农开始,欢迎关注我的公号,这里有你想要的