Linux Python3 virtualenvwrapper

Linux下的Python3安装:

如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,

比如yum!!!!!

不要动现有的python2环境!

一、安装python3.6

1.安装依赖环境

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

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

3.解压文件

# 安装包路径下
tar -xvf Python-3.6.2.tgz

  解压下载好的Python-3.x.x.tgz包(具体包名因你下载的Python具体版本不不同⽽而不不同,如:我下载的是Python3.6.2.那我这里就是Python-3.6.2.tgz)

4.进入解压后的目录,释放编译文件

# cd Python-3.6.2
# 释放编译文件makefile
# --prefix:指定文件安装目录
./configure --prefix=/opt/python3

5.编译、安装

make
make install

6.建立python3的软链接

ln -s /opt/python3/bin/python3 /usr/bin/python3

7.并将/opt/python3/bin加入PATH

# 方式一:
# 修改/etc/profile文件,编辑这个文件,在最底行写入PATH
# 使用echo $PATH查询当前所有环境变量
# 此处将python3的路径添加到最前面(否则可能会导致virtualenvwarapper中python3会使用物理环境中的路径)
PATH=/opt/python3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 读取刷新
source /etc/profile
# 方式二:
# vim ~/.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/opt/python3/bin
export PATH
# 读取刷新
source ~/.bash_profile

8.检查Python3及pip3是否正常可用:

python3 -V
# Python 3.6.0
pip3 -V
# pip 9.0.1 from /opt/python3/lib/python3.6/site-packages (python 3.6)

9.不行的话在创建一下pip3的软链接(我也不清楚这一步有什么用,没遇到过)

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

virtualenv

  1. 下载virtualenv工具

    1. 通过物理环境的pip工具安装
    2. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
    3. 安装完成后你的linux就多了一个virtualenv命令
  2. 创建虚拟环境venv1 venv2

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

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

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

  1. 找到你的虚拟环境目录bin地下的activate文件
    • source myenv/venv1/bin/activate
  2. 激活虚拟环境,原理就是修改了PATH变量,path是有顺序执行的
    • echo $PATH 检查环境变量
    • which python3
    • which pip3 检查虚拟环境是否正常
  3. 退出虚拟换的命令
    • deactivate

virtualenvwrapper

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

    pip3 install virtualenvwrapper
    
  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/python3/bin/python3 # 指定python解释器
    source /opt/python3/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本 
    

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

4.virtualenvwrapper工具命令:

mkvirtualenv 虚拟环境名		自动下载虚拟环境,且激活虚拟环境
workon 虚拟环境名 			激活虚拟环境
deactivate				    退出虚拟环境 
rmvirtualenv				删除虚拟环境 
cdvirtualenv				进入当前已激活的虚拟环境所在的目录
cdsitepackages				进入当前激活的虚拟环境的,python包的目录

Django:

  1. 安装Django

    pip3 install django
    
  2. 创建django项目

    django-admin startproject mysite
    
  3. 创建django的App应用

    django-admin startapp app01
    
  4. 配置settings.py中所需要的变量

    ALLOWED_HOSTS = ['*']
    
  5. 启动项目

1545971787391

Linux环境变量配置

在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容。如果每次都到安装目标文件夹内,找到可执行文件
来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。

环境变量配置的两个方法:

1)修改/etc/profile文件
推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell;
[root@test ~]# vim /etc/profile
....
export PATH=$PATH:/usr/local/mysql/bin
 
使用source命令使修改立刻生效: 
[root@test ~]# source  /etc/profile
# 在/etc/profile里设置系统环境变量时,路径末尾不能以"/"结尾,否则将导致整个PATH变量出错
 
2)修改.bashrc文件,
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果需要给某个用户权限使用这些环境变量,只需要修改其个人用户主目录下的.bashrc文件就可以了。
[root@test ~]# vim /root/.bashrc
export PATH=$PATH:/usr/local/mysql/bin
 
[root@test ~]# source  /root/.bashrc

.bash_profile和.bashrc的区别

  1. /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
  2. /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
  3. ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
  4. ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
  5. ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

posted @ 2018-12-24 20:16  久末丶  阅读(454)  评论(0编辑  收藏  举报