virtualenv和virtualenvwrapper工具

python的虚拟环境配置

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

将当前机器上的解释器作为一个 本地,复制出的很多个 虚拟解释器

物理机上的 本体解释器 ,什么事也不做

分身1: 解释器1;虚拟环境1 运行django 1.11.11业务

分身2 :虚拟环境2 运行django 2.2业务

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

2)virtualenv安装和使用步骤

  1.安装配置虚拟环境
  注意,在物理环境下,安装
  注意,在物理环境下,安装
  注意,在物理环境下,安装

  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
  which python3
  which pip3

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

  6.展示给我看,一个linux服务器上,运行2个django版本

  7.退出虚拟环境 deactivate

 

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

2)virtualenvwrapper工具安装使用

  1.安装virtualenvwrapper工具
  pip3 install virtualenvwrapper


  2.配置环境变量,每次开机就加载 virtualenvwrapper 工具
  配置步骤如下:
    1.打开个人用户配置文件
    vim ~/.bashrc
    回到最低行

    2.添加环境变量 ,注意和我一样,是四个配置,保证路径和你自己机器一样,即可

    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.学习 虚拟环境工具的命令
      1.创建一个虚拟环境:
      mkvirtualenv venv1 #虚拟环境名字自己起
      这会在 ~/Envs 中创建 venv1 文件夹。#~/Envs 家目录下的Envs文件夹中

      2.在虚拟环境上工作:激活虚拟环境venv1
      workon venv1

      3.再创建一个新的虚拟环境
      mkvirtualenv venv2

      4.在虚拟环境上工作:激活虚拟环境venv2
      workon venv2

      #virtualenvwrapper 提供环境名字的tab补全功能。
      #当有很多环境, 并且很难记住它们的名字时,这就显得很有用。

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

      workon venv1# 在venv2的虚拟环境中用,可以直接切换到venv1虚拟环境

      workon venv2

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

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


linux运行 crm项目的笔记
  1)准备crm代码
  自己从本地windows拷贝

  2)上传到linux服务器 (直接拖到 xshell中,就到linux中了)


  3)解压缩crm代码


  4)解决运行crm的环境问题 (此举是为了确保开发环境的一致性)
  方式1:
  1.通过命令,导出开发机器的所有模块
  可以在windows下 通过这个命令,导出模块文件
  pip3 freeze > requirements.txt
  2.将这个文件,上传到linux,进行安装 (注意 一定要装到虚拟环境下)
  pip3 install -i https://pypi.douban.com/simple -r requirements.txt


  方式2:
  1.讲师机,已经为你准备好了所有模块


asn1crypto==0.24.0
attrs==18.2.0
Automat==0.7.0
beautifulsoup4==4.6.3
certifi==2018.11.29
cffi==1.11.5
chardet==3.0.4
constantly==15.1.0
cryptography==2.4.2
cssselect==1.0.3
decorator==4.3.0
Django==1.11.18
django-multiselectfield==0.1.8
gevent==1.3.7
greenlet==0.4.15
hyperlink==18.0.0
idna==2.7
incremental==17.5.0
Jinja2==2.10
lxml==4.2.5
MarkupSafe==1.1.0
parsel==1.5.1
pipenv==2018.11.26
py==1.7.0
pyasn1==0.4.4
pyasn1-modules==0.2.2
pycparser==2.19
PyDispatcher==2.0.5
PyHamcrest==1.9.0
PyMySQL==0.9.3
pyOpenSSL==18.0.0
pytz==2018.9
requests==2.21.0
retry==0.9.2
service-identity==17.0.0
six==1.11.0
tqdm==4.28.1
urllib3==1.24.1
virtualenv==16.1.0
virtualenv-clone==0.4.0
w3lib==1.19.0
zope.interface==4.6.0

  2.你可以自己 touch 一个 requirements.txt 把山方面的模块名复制到此文件夹中

  touch requirements.txt

  3. 进行安装 (注意 一定要装到虚拟环境下)
  pip3 install -i https://pypi.douban.com/simple -r requirements.txt

  5)准备mysql数据库
  yum install mariadb-server mariadb -y #-y 会一直自动的 yes
  # mariadb-server 服务端 mariadb 客户端
  6)启动mariadb数据库 服务端

  systemctl start mariadb

  7) 数据库初始化
  1.mysql -uroot -p 进入数据库
  2.select user(); 查看当前用户
  3.set password = password('123'); 修改秘密成123


  8)修改Ace_crm的settings.py配置文件,修改mysql数据库驱动,,还有修改 settings.py的allow_hosts 设置成["*"]


  9)创建mysql的数据库 ace_crm项目名 #必须要与项目中的settings.py 的DATABASES=[...] 中要一直


  10)再次运行项目 python3 manage.py runserver 192.168.11.XX:8001#端口自设

上一篇:Android高级进阶之路【三】看完这篇再不会Android动画框架,我跪搓衣板


下一篇:linux python虚拟环境 相关的