centos7安装python3,django及tab补全功能
一 下载python源码包
网址:https://www.python.org/downloads/release/python-362/
下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
二 安装
1 安装python前必须安装 python依赖库环境(很重要)
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2 解压缩源码包
tar命令也可以解压缩tgz压缩包,tar压缩包tar -xvf Python-3.6.2.tgz
注:白色 普通文件 蓝色:文件夹 绿色:可执行文件
3 切换源码包目录
cd Python-3.6.2
4 编译且安装
1.释放编译文件makefile,这makefile就是用来编译且安装的
./configure是在这个文件夹里面的可执行命令,所以要有第三步的cd源码包的操作
./configure --prefix=/opt/python36/
--prefix 指定软件的安装路径
2.make编译:在源码目录里面敲的命令
确认当前文件夹有makefile文件,直接输入make命令
3.编译且安装(只有在这一步才生成/opt/python36文件夹):在源码目录里面敲的命令
make install
4.配置python3.6的环境变量
配置软连接 或 配置path环境变量(2选1即可)
配置软连接
ln -s /opt/python36/bin/python3.6 /usr/bin/python3
ln -s /opt/python36/bin/pip3 /usr/bin/pip3
或配置path环境变量
需要写入到文件永久生效,否则只是临时生效 配置文件/etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
编辑这个文件,将上述PATH加到最后一行,保存
vim /etc/profile
source /etc/profile 读一下这个文件使其生效
一路安装django都没有问题,但是在启动django服务时可能会报错:
django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).
这是因为centos自带的是3.7.17版本sqlite数据库django已经不支持,必须要3.9.0以上,如果要使用sqlite3作为数据库,就需要升级,替换掉老的sqlite版本
具体步骤
1.下载sqlite源码包安装(我习惯在/opt目录下操作)
wget http://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
2.解压
tar xvf sqlite-autoconf-3280000.tar.gz
3.编译安装
1. cd 进sqlite的解压包文件夹 cd sqlite-autoconf-3280000
2. ./configure --prefix=/opt/sqlite3 编译到/opt/sqlite3文件夹下,这是我的命名习惯
3. make
4. make install
结束后在/opt里面会有一个sqlite3文件夹,即编译成功
4.替换版本
1.查找老的sqlite在哪个目录下 whereis sqlite3
找到位置在/usr/bin/sqlite3,为防止还需要用老的sqlite3,因此只做改名,不删除
mv /usr/bin/sqlite3 /usr/bin/sqlite3old
2.将新的sqlite3路径做成软连接添加到/usr/bin中替代老的sqlite3
ln -s /opt/sqlite3/bin/sqlite3 /usr/bin/sqlite3
5.修改共享库
vim /etc/profile
export LD_LIBRARY_PATH="/usr/local/sqlite/lib" 添加进去
6.重读配置使其生效
source /etc/profile
可以正常启动django服务了
正常启动django服务后,如果在浏览器打不开,则很可能是Linux防火墙问题
解决办法:参考防火墙命令,关闭防火墙或者添加端口访问
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通