Linux
我们在centos7上做实验,它自带python2.7,现在我们要安装一个python3.7.5
# 从官网下载对应版本的源码
https://www.python.org/downloads/source/
# 解压
$ tar -zxvf xxxxx
$ cd xxxx
# 创建安装目录
$ sudo mkdir -p /usr/local/python37
# 配置、编译、安装
$ ./configure --prefix=/usr/local/python37
#./configure --prefix=/usr/local/python37 --with-openssl=/usr/bin/openssl(不为python编译ssl模块)
#./configure --prefix=/usr/local/python37 --enable-optimizations(如果要运行python的源码测试单元就用这个命令)
$ make
$ sudo make install
安装以后,不修改 python3 的指向,可以为 python3.6+ 版本指定不同的链接名:
# 添加 python37 的软链接
$ ln -s /usr/local/python37/bin/python3.7 /usr/bin/python37
# 添加 pip3 的软链接(这样pip3就是python3.7专用的,也可以起名为pip37,不影响python3.5的pip3)
$ ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip3
检查是否安装成功
window
1.下载安装
2.为了避免冲突我们可以将python27中的python.exe重命名为python2.7.exe
3.如果安装好了后不能在cmd中执行python2.7或者python(对应的为python3),则检查环境变量是否正确,如果不正确,则需要修正,修正后关闭cmd窗口,重新打开后既可以正常使用了,如下所示:
4.使用对应版本的pip命令
python2.7 -m pip list
python -m pip list
5.使用豆瓣源下载模块
python -m pip install -i 模块名 https://pypi.douban.com/simple/
Miniconda3
常见错误
如果在Ubuntu上安装包了如下错误
zipimport.ZipImportError: can't decompress data;
make clean后
安装
apt-get install zlib1g-dev
在重新编译安装
如果出现了ModuleNotFoundError: No module named '_ctypes’make: *** [install] Error 1
yum -y install libffi-devel tk-devel(centos)
apt -y install libffi-dev tk-dev(Ubuntu)
然后再重新编译安装
python3.7 报 “ModuleNotFoundError: No module named ‘_bz2‘” 的错误
下载 _bz2.cpython-37m-x86_64-linux-gnu.so, 复制到 /usr/local/lib/python3.7/ 。
参考:
https://stackoverflow.com/questions/12806122/missing-python-bz2-module