day 56 linux的安装python3 ,虚拟环境,mysql ,redis

时间:2022-05-18 03:35:04

1.1下载python源码包

网址:https://www.python.org/downloads/release/python-366/

下载地址:https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
编译安装python3.6的步骤

1.下载python3源码包
2.下载python3编译的依赖包
3.解压缩源码包
4.进入源码包文件夹
5.编译且安装
1.进入源码包目录
2. ls查看源码包内容
3. 释放编译文件 Makefile
4.编译
5.编译安装,此步才会最终生成 /opt/python36/
6.进入/opt目录查看python36文件夹,我们要的python3都在这里了
6.更改linux的path变量,添加python3
一定要将python3的目录放在第一位
为了永久生效path设置,添加到/etc/profile全局环境变量配置文件中
重载配置文件/etc/profile
7.安装django模块
8.查看当前解释器的python模块有哪些
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

1.1.1安装python前的库环境,非常重要

yum install -y 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

1.2下载,解压安装源码包

tar -xvf Python-3.6.6.tgz
cd Python-3.6.6 # 进入源码包文件夹

1、configure

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:

./configure --prefix=/usr

上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。

同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。

2、make

这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。

make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

3、make install

这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)

wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
xz -d Python-3.6.7.tar.xz
tar -xf Python-3.6.7.tar
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
#yum install gcc -y
./configure --prefix=/opt/python
make && make install
---------------------
用python查看默认安装路径
>>> import sys
>>> sys.path
['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6',
'/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
--------------------
python3.4默认没添加path
在/etc/profile最后一行添加
export PATH=$PATH:/opt/python/bin
然后
source /etc/profile #python快捷path就被改了,yum用的python2,麻烦 # 尝试安装django来通过python3解释器运行它
pip3 install -i https://pypi.douban.com/simple django==1.11.16 # 创建django项目与APP
django-admin startproject mysite
django-admin startapp app01
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

1.2.3 牛逼的python Tab自动补全

下载setuptool 3.4以上已经默认安装了easy_install-3.4

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
下载地址:
https://pypi.python.org/pypi/setuptools/36.2.7
下载命令:
wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5844e/setuptools-36.2.7.zip#md5=b9e6c049617bac0f9e908a41ab4a29ac
解压:
unzip setuptools-36.2.7.zip
编译:
python3 setup.py build
python2 setup.py build
无误后安装:
python3 setup.py install
python2 setup.py install
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

下载readline

#yum install -y readline-devel -y
#pip install readline
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
tab补全
#python startup file
import readline,rlcompleter
#tab completion
readline.parse_and_bind('tab:complete')
----------------------------
python历史记录
#history file
import os
history_file = os.path.join(os.environ["HOME"],".pythonhistory")
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
[root@mm_local ~]# echo "export PYTHONSTARTUP='/root/.pythonstartup'" >> /root/.bashrc
[root@mm_local ~]# source /root/.bashrc
[root@mm_local ~]# cat /root/.pythonstartup
import os
import readline
import rlcompleter
import atexit #tab completion
readline.parse_and_bind("tab: complete") #history file
history_file = os.path.join(os.environ["HOME"],".pythonhistory")
try:
readline.read_history_file(history_file)
except IOError:
pass
atexit.register(readline.write_history_file,history_file) del os,history_file,readline,rlcompleter
[root@mm_local ~]# python
Python 2.7.3 (default, Jun 5 2013, 22:40:26)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path<tab> #按tab键就可以自动补全了 [root@mm_local ~]# python
>>>
>>> sys.path #按上下方向键即可找到历史命令
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

加入python的启动环境变量,永久生效自动补全

只需要启动时执行一条命令即可

import rlcompleter, readline
readline.parse_and_bind('tab:complete')
可以将上述的代码存于~/.pythonrc.py文件中。 然后,在~/.bashrc中设置 export PYTHONSTARTUP=~/.pythonrc.py
这样,每次启动终端,bash就会设置PYTHONSTARTUP这个环境变量,然后,python启动时就会使用这个变量指定的文件中的初始化代码。 在python解释器中,输入一个变量的一部分,或者变量后面加句点,再按TAB键就可以看到自动补全的威力。

在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;

亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。

此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。

这里,就要隆重介绍 virtualenv,一个可以帮助我们管理不同 Python 环境的绝好工具。

virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。

一、Linux下安装、配置virtualenv

#指定清华源下载pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
#升级pip工具
pip3 install --upgrade pip
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1.安装virtualenv
pip3 install virtualenv 2.创建目录
mkdir Myproject
cd Myproject
3.创建独立运行环境-命名
virtualenv --no-site-packages --python=python3 venv#得到独立第三方包的环境,并且指定解释器是python3
4.进入虚拟环境
source venv/bin/activate#此时进入虚拟环境(venv)Myproject
5.安装第三方包
(venv)Myproject: pip3 install django==1.9.8
#此时pip的包都会安装到venv环境下,venv是针对Myproject创建的
6.退出venv环境
deactivate命令
7.
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

二、确保开发环境的一致性

1.假设我们在本地开发环境,准备好了项目+依赖包环境
2.现在需要将项目上传至服务器,上线发布
3.那么就要保证服务器的python环境一致性
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
解决方案:
1
.通过命令保证环境的一致性,导出当前python环境的包
pip3 freeze > requirements.txt 这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。
可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。 2.上传至服务器后,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖
pip3 install -r requirements.txt
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

三、虚拟环境之virtualenvwrapper

virtualenv 的一个最大的缺点就是:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

并且还有可能你忘记了虚拟环境放在哪。。。

  • 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
  • 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。

步骤1:安装virtualenvwrapper

pip3 install virtualenvwrapper

步骤2:设置Linux的用户个人配置文件

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
把下面两行代码添加到 ~/.bashrc文件中
打开文件
vim ~/.bashrc
写入以下几行代码(export可以先去掉)
export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变)
source /opt/python34/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc 退出会话,重新登录生效,且每次登录的时候,就自动加载virtualenvwrapper工具
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

步骤3:基本使用virtualenvwrapper

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1. 创建一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。 2. 在虚拟环境上工作:激活虚拟环境my_django115
$ workon my_django115 3. 再创建一个新的虚拟环境
$ mkvirtualenv my_django2
virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。 4. workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1.15
workon django2.0 5. 也可以手动停止虚拟环境
deactivate 6. 删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

步骤四:常用其他命令

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1. 列举所有的虚拟环境。
lsvirtualenv 2. 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdvirtualenv
3. 和上面的类似,但是是直接进入到 site-packages 目录中。
cdsitepackages
4. 显示 site-packages 目录中的内容。
lssitepackages 完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

图解

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

二、Mac下创建pycharm

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

第二步:

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

第三步:此时这里的Django环境是虚拟环境的版本

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

第四步:检查venv下的django版本

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

第五步:添加已创建的虚拟环境venv的python解释器,至pycharm,用于创建1.98指定版本的django

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

第六步:成功启动1.98版本的django

day 56 linux的安装python3 ,虚拟环境,mysql ,redis


开始今日份整理

1. 系统优化部分

1.1 Linux防火墙安全相关(重要)

1.1.1 SELinux功能

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,这个功能管理员又爱又恨,大多数生产环境也是关闭的做法,安全手段使用其他方法。

大多数ssh连接不上虚拟机,都是因为防火墙和selinux阻挡了。

永久关闭方式:

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1.修改配置文件,永久生效关闭selinux
cp /etc/selinux/config /etc/selinux/config.bak #修改前备份
2.修改方式可以vim编辑,找到
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
3.用sed替换
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4.检查状态
grep "SELINUX=disabled" /etc/selinux/config
#出现结果即表示修改成功
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

临时关闭selinux(命令行修改,重启失效):

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
getenforce #获取selinux状态
#修改selinux状态
setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
数字0 表示permissive,给出警告,不会阻止,等同disabled
数字1表示enforcing,表示开启
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

注意:修改selinux配置后,想要生效还得重启系统,技巧就是(修改配置文件+命令行修改,达到立即生效) 生产环境的服务器是禁止随意重启的!!!!

1.1.2 iptables防火墙

在学习阶段,关闭防火墙可以更方便的学习,在企业环境中,一般只有配置外网ip的linux服务器才会开启防火墙,但是对于高并发流量的业务服务器仍然是不能开启的,会有很大性能损失,因此需要更nb的硬件防火墙。

关闭防火墙具体操作如下:

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
iptables -L 查看防火墙规则
iptables -F 清空防火墙规则 centos7默认已经使用firewall作为防火墙了
1.关闭防火墙
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld#关闭防火墙开机启动
systemctl is-enabled firewalld.service#检查防火墙是否启动
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

1.2 linux中文显示

此项优化为可选项,根据个人情况选择是否调整Linux系统的字符集,字符集就是一套文字符号以及编码。

Linux下常用字符集有:

  • GBK  实际企业应用较少
  • UTF-8  广泛支持,MYSQL也使用UTF-8,企业广泛使用
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
#查看系统当前字符集
echo $LANG
#检查xshell crt的字符集
#命令修改字符集
export LANG=en_US.utf8
1.修改配置文件/etc/locale.conf
LANG="zh_CN.UTF-8"
2.更改后查看系统语言变量
locale
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

乱码核心解决办法

1.系统字符集utf8
2.xshell字符集utf8
3.文件字符集一致zh_CN.UTF-8

1.3 计划任务crond服务(一般重要)

计划任务:后台运行,到了预定的时间就会自动执行的任务,前提是:事先手动将计划任务设定好。这就用到了crond服务

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似

语法:

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
crontab (选项)(参数)
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。 存放定时任务的文件
/var/spool/cron
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

实例:

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
#每分钟执行一次命令
* * * * *
*/1 * * * *
#每小时的3,15,35分执行命令
3,15,35 * * * * 执行命令 #在上午8-11点的第3和第15分钟执行
3,15 8-11 * * * 执行 #每晚21:30执行命令
30 21 * * * 命令 #每周六、日的1:30执行命令
30 1 * * 6,7 执行命令 #每周一到周五的凌晨1点,清空/tmp目录的所有文件
0 1 * * 1-5 rm -rf /tmp/* #每晚的21:30重启nginx
30 21 * * * systemctl restart nginx #每月的1,10,22日的4:45重启nginx
45 4 1,10,22 * * systemctl restart nginx #每个星期一的上午8点到11点的第3和15分钟执行命令
3,15 8-11 * * 1 执行命令 每天凌晨6点备份mysql数据库
0 6 * * * 备份数据库mysqldump
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

1.4 其他命令

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1.tree命令
树状显示目录及子目录文件,需要安装才可以使用
yum install tree 2.设置主机别名:
hostnamectl set-hostname qishi666 3.Lrzsz
#安装此软件,即可拖拽上传下载linux代码到windows
yum install lrzsz
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

2.软件包安装

2.1 yum命令(非常重要)

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

尽管 RPM 能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决, 而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。 Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以 根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安 装到系统。Yum 软件仓库中的 RPM 软件包可以是由红帽官方发布的,也可以是第三方发布的,当 然也可以是自己编写的。

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

选项:

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
yum(选项)(参数)
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

2.2 yum源配置

2.2.1 目前yum目录

#进入yum源目录
cd /etc/yum.repos.d/
#查看yum源文件
ls –l

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

2.2.2 更改阿里云的yum源

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1.好习惯,备份yum源
mkdir repo_bak
mv *.repo repo_bak/ 2.下载阿里云repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo 3.清空yum缓存并且生成新的yum缓存
yum clean all
yum makecache 4.安装软件扩展源
yum install -y epel-release
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
yum repolist all        列出所有仓库
yum list all 列出仓库所有软件包
yum info 软件包名 查看软件包信息
yum install 软件包名 安装软件包
yum reinstall 软件包名 重新安装软件包
yum update 软件包名 升级软件包
yum remove 软件包名 移除软件包
yum clean all 清楚所有仓库缓存
yum check-update 检查可以更新的软件包
yum grouplist 查看系统中已安装的软件包
yum groupinstall 软件包组 安装软件包组
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

3.以python部署为例说明编译安装

3.1 centos中安装python的 多种方式

  • yum一键安装
  • RPM包安装(太麻烦,不推荐)
  • 下载源码包,进行编译安装(今天的安装方式)

3.2 python安装

3.2.1 下载python3的源码包

3.2.2 下载python3编译的依赖包

yum install -y 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

3.2.3 解压缩源码包

tar -zxvf Python-3.6.6.tgz

3.2.4 编译且安装

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1.切换到源码包目录
cd Python-3.6.6 2. ls或者ll查看目录下文件源码包内容 3.释放编译文件
./configure --prefix=/opt/python36 4.编译与安装
make && make install
编译安装,此步才会最终生成 /opt/python36/
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

注意:在上述几步中,一定要在Python-3.6.6目录下安装!在上述几步中,一定要在Python-3.6.6目录下安装!在上述几步中,一定要在Python-3.6.6目录下安装!进入/opt目录查看python36文件夹,我们要的python3都在这里了

3.2.5 更改linux的path变量,添加python3

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
echo $PASH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
vim ~/.bash_profile # 用户环境变量控制文件
vim /etc/profile # 系统环境变量控制文件
一定要将python3的目录放在第一位!!!
一定要将python3的目录放在第一位!!!
一定要将python3的目录放在第一位!!!
为了永久生效path设置,添加到/etc/profile全局环境变量配置文件中
vim /etc/profile
在最后一行加入:
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
重载配置文件/etc/profile
source /etc/profile
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

3.2.6 剩下就需要装我们一直在使用的django模块了

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
pip3 install -i https://pypi.douban.com/simple django==2.1.7
配置django,把django项目跑起来
(1) 创建一个django项目django-admin startproject qishi
(2) 配置settings.py文件,将ALLOW_HOST=[]改为ALLOW_HOST=["*"]
(3) 创建一个app python3 manage.py startapp app01
(4) 启动django python3 manage.py runserver 0.0.0.0:8000
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

4.安装虚拟环境

在企业中一个服务器不可能只安装一个软件,对于企业来说一台服务器需要跑多个业务,这个时候就需要用到虚拟机了,每个虚拟机分别独立,安装不同的环境和需求包。

4.1 virtualenv模块

(1)下载安装虚拟环境模块:pip3 install -i https://pypi.douban.com/simple virtualenv

(2) 切换到opt目录下,创建一个virutal_env目录:

(3)  创建俩个虚拟环境:

virtualenv --no-site-packages --python=python3 test1

virtualenv --no-site-packages --python=python3 test2

注:no-site-packages意味着虚拟环境为纯粹环境,只有最基本的俩个包,建立的虚拟环境就会在当前目录建立

(4)激活虚拟环境

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
1.相对路径
cd /opt/virutal_env/test1/bin
source activate 2.绝对路径
source /opt/virtual_env/test2/bin/activate
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

激活后前置名称更改为虚拟环境的名称

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

激活的虚拟环境只有以上三个包

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

(5)分别在俩个虚拟环境中创建django项目

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

(6)退出虚拟环境:deactivate

4.2 virtualenvwrapper模块

virtualenv这个工具太麻烦了,命令太长, 不容易记住,管理虚拟环境特别麻烦, 容易弄错目录,容易找不到虚拟环境,最终导致得重装系统或者重装虚拟环境,现在就有一个可以统一管理的模块

(1)安装软件:virtualenvwrapper,一定要安装在python解释器目录下,不能安装在虚拟机上!

pip3 install virtualenvwrapper -i https://pypi.douban.com/simple

(2)设置linux的用户配置文件配置virtualenvwrapper

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
vim ~/.bashrc
WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加virtualenvwrapper的参数,生成干净隔绝的环境
VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变)
source /opt/python34/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本 注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!! 注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!! 注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!! 真实实验环境配置文件如下: WORKON_HOME=~/Envs
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3
source /opt/python36/bin/virtualenvwrapper.sh
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

(3)重新加载~/.bashrc文件:source ~/.bashrc

(4) 登出用户,重新再登录

(5)创建一个虚拟环境

mkvirtualenv test1

mkvirtualenv test2

mkvirtualenv test3

(6) 激活一个虚拟环境

workon test1
workon test2
workon test3

(7) 删除一个虚拟环境

rmvirtualenv test1
rmvirtualenv test2
rmvirtualenv test3

5.安装MariaDB

5.1 添加MariaDB的yum仓库

由于官网的MariaDB版本要比阿里云的版本要高,所以我们应该优先使用官方的版本

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
# 编辑创建mariadb.repo仓库文件
vi /etc/yum.repos.d/MariaDB.repo 2、添加repo仓库配置
[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

5.2 在 CentOS 7 中安装 MariaDB

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
3、当 MariaDB 仓库地址添加好后,你可以通过下面的一行命令轻松安装 MariaDB。

yum install MariaDB-server MariaDB-client -y

# 由于官方的下载网速太慢,我们教学就使用阿里云低版本的mariadb数据库

# 删除或者重命名刚才创建的Mariadb.repo文件
cd /etc/yum.repos.d
mv Mariadb.repo Mariadb.repo.bak # 然后一条命令安装Mariadb
yum install mariadb-server mariadb -y
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

5.3 启动mariadb相关命令

day 56 linux的安装python3 ,虚拟环境,mysql ,redis
mariadb数据库的相关命令是:

systemctl start mariadb  #启动MariaDB

systemctl stop mariadb  #停止MariaDB

systemctl restart mariadb  #重启MariaDB

systemctl enable mariadb  #设置开机启动
day 56 linux的安装python3 ,虚拟环境,mysql ,redis

启动后正常使用mysql:systemctl start mariadb

5.4 初始化mariadb

mysql_secure_installation

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

5.5 解决sql的中文显示问题

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

1 停掉mariadb服务
systemctl stop mariadb
2 修改配置文件vim /etc/my.cnf

day 56 linux的安装python3 ,虚拟环境,mysql ,redis

进入mysql,基本配置结束,剩下就是SQL语句了!