之前部署Django项目到服务器上的时候出现了各种问题,现在总结一下方便以后查阅,也希望能够帮到有同样问题的你。(如果有帮助记得点赞哦!)
Linux 升级 Python 至 3.x
一般情况下自己带的python 都是2.x的,为了使用新版本的3.x,需要对旧版本进行升级
# python --version Python 2.7.5
系统自带的版本是2.7.5
1.下载新版本
版本可以自己随意选,我这里只是一个演示
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
2.压缩
tar -zxvf Python-3.5.2.tgz
3.安装配置
cd Python-3.5.2/ ./configure
如果./configure 出错说明没有安装编译器,这时,需要升级依赖包
yum install make gcc gcc-c++
然后再
./configure
4.编译 安装
make make install
5.验证
# python3 -VPython 3.5.2
6.设置默认版本为3.x
ls -al /usr/bin | grep python -rwxr-xr-x. 1 root root 11216 12月 1 2018 abrt-action-analyze-python lrwxrwxrwx. 1 root root 6 4月 30 12:11 python -> python2 lrwxrwxrwx. 1 root root 5 4月 30 12:11 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 4月 20 2018 python2.7
将原来 python 的软链接重命名:
mv /usr/bin/python /usr/bin/python.bak
将 python 链接至 python3:
ln -s /usr/local/bin/python3 /usr/bin/python
查看结果
# python -VPython 3.5.2
说明安装ok
7.配置 yum
vi /usr/bin/yum
将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出
vi /usr/libexec/urlgrabber-ext-down
将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出
报错 ImportError: No module named pip --- 需要 安装 pip
等你安装好python3.x ,安装Django的时候可能有会 报错 ImportError: No module named pip
安装pip的方法有很多,这里我只介绍我使用的
wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate tar xvf pip-1.3.1.tar.gz python pip-1.3.1/setup.py install
安装的时候还可能会出现setuptools Compression requires the (missing) zlib module 的错误 这是因为缺少setuptools,下面的就是解决办法
报错 setuptools Compression requires the (missing) zlib module ---安装setuptools
yum install zlib yum install zlib-devel
从新编译python (make)
下载 setuptools
cd setuptools-39.2.0 python setup.py install
安装ok 之后再去安装pip 就可以了
报错 ModuleNotFoundError: No module named '_sqlite3' ----安装sqlite3
最简单的方法(一般情况下都可以的如果不可以自行谷歌其他方法吧)
yum install sqlite*#重新编译python ./configure --prefix=/usr/local/sqlite3 make && make install
好了,先总结到这里,后续再有继续添加。如果问题欢迎留言!
作者:陈雨尘
链接:https://www.jianshu.com/p/840b3a745c01