为什么要用虚拟环境

在使用python开发过程中,各种业务需求多了,导致工程任务多了,难免会碰到不同的工程依赖不同版本库的问题,;
或者是在开发的时候不想让物理环境里充斥各种各样的库,引发依赖环境灾难,此时我们需要对于不同的工程使用不
同的虚拟环境来保持开发环境以及宿主环境的清洁,让各个工程任务解耦性更高,独为一体.因此我们要使用
Virtualenv,它是一个可以帮助我们开发管理python环境的绝好工具,virtualenv(分身术--对python解释
器的分身)可以在系统中建立多个不同并且相互不干扰的虚拟环境

python 的虚拟环境

虚拟环境的理解  -- 将当前机器上的解释器作为一个本体,复制出很多个虚拟解释器

物理机上的本体解释器  -- 什么事也不做
分身1 : 运行 django
分身2 : 运行 django 1.11.18
virtualenv 可以在系统中创建多个不同并且互相不干扰的虚拟环境

安装配置虚拟环境  --- virtualenv

.安装配置虚拟环境
注意,在物理环境下,安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

2.使用虚拟环境的命令,创建多个python解释器的分身 ,用于运行第一个 django 2.0版本

virtualenv --no-site-packages --python=python3 venv1 这是名字

  --no-site-packages 保证虚拟环境,没有任何的第三方包
  --python=python3 指定当前机器的 python3 作为本体

3.再创建虚拟环境2 ,用于运行django1.11.18
virtualenv --no-site-packages --python=python3 venv2

4.打开两个 xshell终端,分别激活 虚拟环境

  终端1 
  source /opt/venv1/bin/activate

  确保在虚拟环境1地下,看一下命令的绝对路径
  which python3
  which pip3

  终端2
  source /opt/venv2/bin/activate

5.分别创建两个django 项目,运行

6.一个linux服务器上,运行2个django版本 浏览器上运行出效果

7.退出虚拟环境  deactivate

更强悍的 virtualenvwrapper工具

 安装安装virtualenvwrapper工具
pip3 install virtualenvwrapper 配置环境变量,每次开机就加载 virtualenvwrapper
步骤:
打开个人用户配置文件
vim ~/.bashrc
回到最底行
添加环境变量
export WORKON_HOME=~/Envs/ #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 #指定python3本体解释器
source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本

3.复制如上配置,写入到,~/.bashrc 个人配置文件中,每次登陆就加载

4.退出当前回话,重新登陆,加载 虚拟环境工具

5.虚拟环境工具的命令

  创建一个虚拟环境:

  mkvirtualenv  my1

  这会在 ~/Envs 中创建 my1 文件夹

  在虚拟环境上工作: 激活虚拟环境

    workon  my1

  virtualenvwrapper 提供环境名字的tab补全功能。

  workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换

也可以手动停止虚拟环境
deactivate

删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115

-- 其他命令 --

1.lsvirtualenv     列举出所有的虚拟环境

2.cdvirtualenv    导航到当前虚拟环境中的目录

3.cdsitepackages   直接进入sitepackages 目录

4.lssitepackages    展示sitepackages中的内容

CRM 虚拟环境运行的实例

  准备代码  lrzsz -- 拖动工具
代码打包移植
解压 unzip 文件名
解决运行的环境问题
方式一:
通过命令,导出开发机上的所有模块
pip3 freeze > requirements.txt
  2 移植这个 txt 到linux,进行安装
   pip3 install -i https://pypi.douban.com/simple -r requirements.txt
      会一行行读取文件信息,下载并且执行
  方式二:
   1 touch requirements.txt 文件
   2 vim requirements.txt 写进去
     Windows cmd (pip list) 里的数据
   3 pip3 install -i https://pypi.douban.com/simple -r requirements.txt 
3 准备数据库
  yum install mariadb-server mariadb -y
4 启动 mariadb 数据库
systemctl start mariadb
5 修改 CRM 的settings.py 配置文件,
  ALLOWED_HOSTS = [ '*']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'ace_crm', 要改名字 前提数据库创建一个database,且执行了python3 manage.py migrate
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123',
}
} 6 执行
  python3 manage.py runserver 0.0.0.0:8000

linux python虚拟环境 相关的的更多相关文章

  1. python 虚拟环境相关命令

    1.总是记不住一些关于创建虚拟环境得命令,特在自己得博客里记录一下自己常用得命令: virtualenv -p C:\Python36\python D:\virtual\Envs\AssetScan ...

  2. python虚拟环境相关设置备忘

    sudo  pip install virtualenv #安装虚拟环境 sudo pip install virtualenvwrapper #安装虚拟环境管理工具nano ~/.bashrc #修 ...

  3. linux系统下Python虚拟环境的安装和使用

    前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要. 安装虚拟环境 步骤: 打开Linux终端(快捷 ...

  4. Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)

    一.virtualenv virtualenv是如何创建"独立"的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令sour ...

  5. Python 虚拟环境 | Mac/Linux下如何避坑安装配置Virtualenv

    1.为什么要使用虚拟环境 在Python中,不同的应用可能需要用到不同版本的第三方包,而这些第三方包被统一存放到目录site-packages中,不同版本的包容易相互覆盖,如安装Django 2.1时 ...

  6. Linux创建Python虚拟环境

    Linux创建Python虚拟环境 安装 pip install virtualenv 基本使用 为一个工程创建一个虚拟环境: $ cd my_project $ virtualenv venv #v ...

  7. linux设置python虚拟环境的环境变量

    针对 linux系统中 python虚拟环境 设置环境变量 2种方法: 1.在建好的虚拟环境的 venv/bin/active 文件中,写入需要的环境变量,再进入虚拟环境: 如 配置文件路径 JERR ...

  8. ubuntu系统下Python虚拟环境的安装和使用

    ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...

  9. 二、python框架相关知识体系

    Django框架 1.django框架.flask框架和Tornado框架的区别? django框架,内置组件多,自身功能强大,是一个大而全的框架,ORM.Admin.中间件.Form.ModelFr ...

随机推荐

  1. Python3学习之路~6.1 编程范式:面向过程 VS 面向对象

    编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种 ...

  2. (转)Mysql LIMIT如何正确对其进行优化

    以下的文章主要是对Mysql LIMIT简单介绍,我们大家都知道LIMIT子句一般是用来限制SELECT语句返回的实际行数.LIMIT取1个或是2个数字参数,如果给定的是2个参数,第一个指定要返回的第 ...

  3. git bash 报错bash: *: command not found

    默认安装的git bash某些功能是没有的,比如zip,在git bash下执行zip和unzip命令时会报错命令找不到,但值得庆幸的是,我们可以安装我们需要的命令,以下以zip命令为例,步骤如下: ...

  4. iNotify.js通知JS 实现浏览器的 title 闪烁、滚动、声音提示、chrome、Firefox、Safari等系统通知。

    https://github.com/jaywcjlove/iNotify     JS 实现浏览器的 title 闪烁.滚动.声音提示.chrome.Firefox.Safari等系统通知. 这是重 ...

  5. Groovy动态解析

    A:前面需要说些什么吗? B:不需要吗? A:需要吗? 解析方式一:通过指定的paths来初始化GroovyScriptEngine //通过指定的paths来初始化GroovyScriptEngin ...

  6. Tensorflow实现手写体分类(含dropout)

    一.手写体分类 1. 数据集 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data im ...

  7. (转载)Spring定时任务的几种实现

    spring框架定时任务 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerT ...

  8. iOS UI布局-定时器

    定时器是比较常用的一个UI控件,在付款.抢购时,经常会使用到.提取成一个通用的方法 /** * 倒计时GCD通用方法 * 通常用的计时器都是用NSTimer,但是NSTimer在线程很吃紧的时候效果不 ...

  9. Linux平台Oracle 12.1.0.2 单实例安装部署

    主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...

  10. vue-lazyload的使用

    1.下载依赖 npm install vue-lazyload --save 2.引入 import Vue from 'vue' import App from '@/App' import Vue ...