前言

centos7默认是装有pyhton的。

#检查python版本
[root@oldboy_python ~ ::]#python -V
Python 2.7.

但是众所周知,python2版本到2020年就不在提供维护了。因此,在这奉上python3 的安装步骤。

一、安装python3

1.1下载python源码包

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

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

安装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
# cd到opt目录下,一般linux的第三方的软件都安装在次目录下
cd /opt

# 安装wget命令
yum install wget -y

# 下载python3源码包
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

2.解压缩源码包

下载好python3源码包之后
Python-3.6..tgz # tar命令可以解压缩 tgz格式
tar -xvf Python-3.6..tgz

3.切换源码包目录

cd Python-3.6.

4.编译且安装

. 释放编译文件makefile,这个makefile就是用来编译且安装的
./configure --prefix=/opt/python36/ # --prefix 指定软件的安装路径 .开始编译python3
make .编译且安装(只有在这一步,才会生成/opt/python36)
make install .配置python3.6的环境变量
       .配置软连接(注意,这个和PATH配置,二选一)
ln -s 目标文件 软连接文件
ln -s /opt/python36/bin/python3. /usr/bin/python3
此时还没有pip
ln -s /opt/python36/bin/pip3 /usr/bin/pip3 .配置path环境变量 (二选一即可)
echo $PATH查看环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
#这个变量赋值操作,只是临时生效,需要写入到文件,永久生效
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
#linux有一个全局个人配置文件
编辑这个文件,在最底行写入PATH
vim /etc/profile
写入
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
保存退出 读一下这个/etc/profile 使得生效
source /etc/profile

5.测试linux安装一个django,
pip3 install django

6.创建django项目
django-admin startproject mysite

7.创建django的APP应用
django-admin startapp app01

8.编写视图函数,测试一个index视图

9.注意修改settings.py的allow_hosts,windows方可访问linux的django项目

二、python的虚拟环境 virtualenv

virtualenv 就是一个虚拟解释器
就是基于物理环境下的python解释器,虚拟出的 多个解释器

venv1
django2. venv2
django1. venv3
flask venv4
requests
scrapy

安装virtualevn

1.下载virtualenv工具

通过物理环境的pip工具安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

安装完成后你的linux就多了一个virtualenv命令

2.创建虚拟环境venv1  venv2

virtualenv --no-site-packages --python=python3   django111
调用虚拟环境的命令
--no-site-packages // 这是构建干净,隔离的模块的参数
--python=python3 // 这个参数是指定虚拟环境以哪一个物理解释器为基础的
最后一个是虚拟环境的名字 会创建这么一个文件夹

3.进入虚拟环境目录,激活虚拟环境

// 找到你的虚拟环境目录bin地下的activate文件
source myenv/s15venv1/bin/activate
-
// 激活虚拟环境,原理就是修改了PATH变量,path是有顺序执行的
echo $PATH // 检查环境变量
which python3
which pip3 // 检查虚拟环境是否正常

5.退出虚拟换的命令

deactivate

三、虚拟环境管理工具virtualenvwrapper

1.安装这个命令,必须得在物理解释器地下,注意!!

pip3 install virtualenvwrapper

 注意这里path的配置,需要将物理解释器的python,放在path最前面

echo $PATH
这里保持配置和我一样,将python3放在最前面

[root@localhost ~]# echo $PATH
/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin


2.修改环境变量,每次开机就加载这个virtualenvwrapper工具

vim ~/.bashrc   // vim编辑用户家目录下的.bashrc文件,这个文件是用户在登录的时候,就读取这个文件
// export 是读取shell命令的作用
// 这些变量根据你自己的绝对路径环境修改
export WORKON_HOME=~/Envs // 设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' // 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 // 指定python解释器
source /opt/python34/bin/virtualenvwrapper.sh // 执行virtualenvwrapper安装脚本

3.重新登录会话,使得这个配置生效

    logout
ssh ....

4.此时正确的话 virtualenvwrapper工具已经可以使用

mkvirtualenv  虚拟环境名   // 自动下载虚拟环境,且激活虚拟环境

workon  虚拟环境名   // 激活虚拟环境

deactivate  // 退出虚拟环境 

rmvirtualenv    // 删除虚拟环境 

cdvirtualenv  // 进入当前已激活的虚拟环境所在的目录

cdsitepackages // 进入当前激活的虚拟环境的,python包的目录

最新文章

  1. systemctl命令用法详解
  2. 【概念笔记】JavaEE - web part2
  3. 浏览器对象模型(BOM,Browser Object Model)
  4. 烂泥:KVM与kickstart集成
  5. Java注解处理器(转)
  6. Fisher's exact test( 费希尔精确检验)
  7. hdu 3157 Crazy Circuits 有源汇和下界的最小费用流
  8. 浅谈Web的流量控制
  9. Linux中以单容器部署Nginx+ASP.NET Core
  10. [JLOI2014]松鼠的新家-树链剖分
  11. 20175317 《Java程序设计》第八周学习总结
  12. Python基础3(2017-07-20)
  13. : LDAP & Implementation
  14. 770. Basic Calculator IV
  15. Spring使用注解和struts集成
  16. WARNING: firstResult/maxResults specified with collection fetch; applying in memory!
  17. codevs1048石子归并
  18. ssm项目中 数据库和资源的备份
  19. SPSS-相关分析
  20. 【大数据】MongoDB安装(转)

热门文章

  1. 09.C语言:预处理(宏定义)、字节序、地址对齐
  2. 洛谷 2048 BZOJ 2006 [NOI2010]超级钢琴
  3. PAT 1129 Recommendation System
  4. RequestMapping_请求方式
  5. Leetcode 115.不同的子序列
  6. codeforces gym 100357 H (DP 高精度)
  7. python实现汉诺塔算法
  8. SiteMesh2-示例工程
  9. 一份关于jvm内存调优及原理的学习笔记(转)
  10. 1.7-BGP③