linux下python3的编译安装以及项目运行
普通版安装编译python3并运行项目
最好指定目录进行操作
1.解决系统的基础开发工具,防止python3编译过程出错
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.获取python3的源代码,去官网下载即可
先cd 到opt下
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
3.解压缩源代码包,进入源码包
xz -d Python-3.6.7.tar.xz #去掉.xz压缩后缀
tar -zxvf Python-3.6.7.tar #解压缩 tar xvJf Python-3.6.7.tgz
cd Python-3.6.7
4.编译三部曲,几乎所有的linux软件,编译安装都是这个步骤,nginx,redis都是这样
第一曲:指定安装路径
执行configure脚本文件 ,指定软件的安装路径
./configure --prefix=/opt/python367/
第二曲:编译源代码
指定make指令 ,针对当前文件夹下的makefile开始读取
输入 make 即可
第三曲:开始安装
这一步才是生成解释器的步骤
make install
5.配置PATH环境变量,让命令可以快捷执行
取出当前PATH的值
注意!!!!!PATH的值是自上而下,从前往后的读取顺序,这里要和虚拟环境配置有关了
echo $PATH
把python3的路径,放到最前面,因为虚拟环境的创建的时候,可能会有坑,
PATH的加载顺序是自上而下的
[root@linux bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
修改PATH的值,永久修改,写入到/etc/profile ,每次用户登录都加载这个文件,因此变量永久生效
vim /etc/profile 在最底行,写入如下信息
PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
#PATH的组成部分:1. 第一个冒号前:安装的python3下的bin目录 2.第二个冒号后:echo $PATH的执行结果
读取/etc/profile #让他永久生效
命令: source /etc/profile #用source命令,去读这个文件 内容,让变量生效
6.上传crm代码到linux
xftp6软件直接上传到linux服务器
或可以用xftp或者压缩文件后,用lrzsz
7.解决crm运行的模块依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.23
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django-multiselectfield
......
8.安装mariadb
rpm手动安装,很恶心,解决以来关系
源代码编译安装(指定安装路径,可以自由选择最新的软件版本,可以扩展第三方高级的功能)
yum安装方便,自动解决依赖(安装路径默认,软件仓库版本可能过低)
yum install mariadb-server mariadb -y
通过yum安装的软件,都可以通过systemctl 去管理
systemctl start mariadb #启动mariadb
systemctl stop mariadb #关闭mariadb
systemctl restart mariadb #重启mariadb
9.导出windows的crm数据,传递给linux进行导入
1.先进入cmd
2.输入mysql
3.执行 show variables like "%char%"; #character_sets_dir D:\Program Files\feiq\mysql\mysql-5.6.45-winx64\mysql-5.6.45-winx64\share\charsets\ 这就是mysql安装路径
4.先找到mysql的安装路径,进入mysql下的bin目录,bin目录下打开cmd,执行下面命令
5.mysqldump -u root -p crm > crm.sql #指定数据库导出的命令
10。传输ignb.sql文件到linux后,进行数据导入
1.数据库导入
方式1: 命令形式导入
得先创建好数据库
1.systemctl start mariadb #启动mariadb,可能用,
2.mysql #进入mysql
3.create database crm; #建库
4.指定数据库导入数据
mysql -uroot -p crm < crm.sql
方式2:交互式终端的导入数据
create database ignb;
use ignb ;
source /opt/ignb.sql ;
#方式一不行用方式二,能用哪个用哪个
2.数据库配置
1.进入项目的settings.py
2.执行 vim settings.py
3.ALLOWED_HOSTS = ['*'] # * 代表 允许所有主机访问,可以设置一些地址进行限制
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'crm', #在之前创建的数据库名字不要错
'PORT':3306,
'HOST':'0.0.0.0', #改成这个,正常运行数据库的服务器地址
'USER':'root',
'PASSWORD':'' # 密码可以设置为空,也可以设置一个密码
}
}
11.启动crm项目
#启动前关闭防火墙
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
python3 manage.py runserver 0.0.0.0:8000
# 可能或报下面数据库方面的错
You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
解决:执行 python3 manage.py migrate
虚拟环境下安装编译python3并运行项目
python的虚拟环境其实就是多个python解释器而已,不会影响操作系统
# linux虚拟环境启动代码发布
1.用virtualenvwrapper工具分别启动两个python项目
1.得先编译安装python3
https://www.cnblogs.com/pyyu/p/7402145.html #可以参考博客
2.安装编译所需的开发环境
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
3.下载python3的源代码
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
4.对源代码解压缩
[root@root_linux ]# tar -zxvf Python-3.6.7.tgz
或者tar xvJf Python-3.6.7.tgz
5.切换进入源码
cd Python-3.6.7
6.开始编译三部曲了
第一曲:指定软件安装位置
# 新建了mypro文件
[root@root_linux Python-3.6.7]
# ./configure --prefix=/opt/python367/
第二曲:开始编译
make
第三曲:编译安装,生成最终的可以使用的python3.6.7的解释器
make install
7.配置PATH环境变量,可以直接输入python3就进入/mypro/python367/bin/python3
向要永久生效,配置环境变量,编辑/etc/profile 文件,开机就会读取这个文件中的所有变量定义
vim /etc/profile
写入PATH变量的值修改
PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
8.退出回话,重新登录linux,即可加载新的PATH
9.安装virtualenvwrapper工具
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
10.升级pip3版本命令
pip3 install --upgrade pip
11.配置环境变量,加载虚拟环境工具
vim /etc/profile
WORKON_HOME=~/Envs #设置virtualenv的统一管理目录
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
VIRTUALENVWRAPPER_PYTHON=/opt/python367/bin/python3 #指定python解释器
source /opt/python367/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
12.重新登录后,生效配置
exit
13.使用虚拟环境命令,创建新的虚拟环境用于运行项目
[root@root_linux ~]# mkvirtualenv mypro666
[root@root_linux ~]# mkvirtualenv mypro888
14.可以用workon命令切换不同的虚拟环境
15.上传本地开发好的代码,到linux服务器上,安装lrzsz传输工具,用于windows和linux传递文件
yum install lrzsz -y
16.压缩windows环境开发的代码,传递至服务器
rz #直接输入此命令,接受windows的代码
16.安装项目运行所需的所有模块
1.导出windows的模块
pip3 freeze > requirements.txt
2.在linux 上安装此文件,自动读取文件中所有的模块版本信息
pip3 install -r requirements.txt
3.也可以用土方法,解决环境依赖问题
可以用python3 manage.py runserver 0.0.0.0:9000,调试代码,看需要哪些模块,如果报错哪个模块没有就下载哪个模块
pip3 install -i https://pypi.douban.com/simple django==1.11.23
pip3 install -i https://pypi.douban.com/simple pymysql
pip3 install -i https://pypi.douban.com/simple django-multiselectfield
17.解决数据库问题,启动数据库
yum install mariadb-server mariadb -y #安装数据库
systemctl start mariadb #启动数据库
18.检查mysql是否启动
查进程:ps -ef |grep mysql
查端口:
(mypro888) [root@root_linux IGnb]# netstat -tunlp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27687/mysqld
查看mariadb数据库的服务状态:systemctl status mariadb
19.尝试再次启动项目,是否正常
可能还会遇见密码不一致的问题,需要修改settings.py
linux的ip地址:192.168.16.85 127.0.0.1 0.0.0.0(绑定这台机器所有的ip地址)
存在多个网卡
windows的ip地址:192.168.16.64 127.0.0.1 0.0.0.0
20.修改django的配置文件settings.py修改 ALLOW_HOSTS=['*']
21.启动django程序
python3 manage.py runserver 0.0.0.0:8000
22.运行bighg项目,上传bighg代码到linux服务器,解决项目运行所需的依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.23
python3 manage.py runserver
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple channels
python3 manage.py runserver
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple gitpython
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple paramiko
23.在linux上安装git
yum install git -y
24.再次运行项目,代码发布启动
python3 manage.py runserver 0.0.0.0:9000
make && make install #前面正确执行了,没报错,后面正常执行
make || make install #前面执行失败了,才会执行后面的