今天在虚拟机中安装了 CentOs 7 ,安装完成后发现其自带的 Python 环境只有 Python 2.7 ,还需自己安装 Python 3,这点就不像 Ubuntu 那么友好了,希望将来会自带 Python 3 吧。
pip2 安装在最后
首先去官网下载 Python 3 的源码包呗。手动略过。。。
下载后先解压:
# 注 以下所有命令均在 root 环境下,因为某些权限问题
tar -xzvf Python-3.6.5.tgz
xzvf 自行输入 tar --help 查看
进入 Python-3.6.5:
cd Python-3.6.5
./configure --prefix=/usr/local/python3.6
# 确定安装目录 可以输入 ./configure --help 查看选项
# 开始编译 安装
make && make install
# 忘了说一件事,编译需要 gcc 所以,聪明的你肯定早已安装了
yum install gcc
在编译安装结尾中会报出错误,意思就是缺少一个模块,大概是这样,忘记截图了。。。
zipimport.ZipImportError: can't decompress data;zlib not avaliable
make: *** [install] Error 1
这是因为 Python 需要解压某些东西,需要这个模块,所以去安装吧:
yum install zlib-devel
安装完成后,打开 Python 3 会发现里面上下键不能用,这就尴尬了,原来是缺少一个模块用来转义,这些都是历史原因。有兴趣试一试后可以搜一搜。解决办法就是安装:
yum install readline-devel
再次 make && make install
,细心的你在 make && make install
过程中会发现有些问题,我还是没截图。。
这就是缺少某些模块,不过你用不到就没关系,为了以后,还是安装一下吧:
yum install bzip2-devel
yum install sqlite-devel
yum install gdbm-devel
yum install tk-devel
# 缺少什么对照自己电脑上出现的东西百度一下就可以找到了
然后继续 make && make install
,不出意料这次就会大功告成了!但是还有一个大问题,你输入 python3 大概不会进入解释器,因为它没有进入到环境变量中。创建软链接:
# 使 python3 和 pip3 生效
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# 好奇怪,为什么 local 会变色
好了,就到这里了。
顺便提一句,CentOs 中的 Python 2.7 没有 pip 需要自己安装。
yum 的官方仓库中又没有 pip,所以可以安装 EPEL,我一开始对这个东西也是懵的,这是什么?
企业版 Linux 附加软件包(以下简称 EPEL)是一个 Fedora 特别兴趣小组,用以创建、维护以及管理针对企业版 Linux 的一个高质量附加软件包集,面向的对象包括但不限于 红帽企业版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。
说白了就是另外一个仓库,里面又好多软件。根据这个官方教程的指令:
# 这是 CentOs 7 的
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
一路 yes 之后,运行:
yum install python-pip
之后 pip2
就可以正常使用了。
具体可以到 /usr/bin/
下 ls pip*
或 ls python*
查看。
ps 在 Ubuntu 中安装办法:
sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
然后即可 make
和 make install
了。
ps 在 Windows 上 python 多版本共存之 pip
,显示找不到 pip
:
python2 -m pip install --upgrade pip --force-reinstall
python3 -m pip install --upgrade pip --force-reinstall
这样就应该好了
在 Ubuntu 中安装 pipenv
直接 sudo pip3 install pipenv
安装成功之后,直接在命令行中输入 pipenv
发现无此命令。首先找到 python 的路径:
python(3) -m site --user-base
然后打开 ~/.profile
末尾添加
export PATH="$PATH:<上面显示的路径>"
最后在命令行中运行 source .profile