一、Linux下安装、配置virtualenv
配置源
#指定清华源下载pip的包 [root@localhost opt]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv #升级pip工具 [root@localhost opt]# pip3 install --upgrade pip
安装virtualenv
1.安装virtualenv [root@localhost opt]# pip3 install virtualenv 2.创建目录 [root@localhost opt]# mkdir Myproject [root@localhost opt]# cd Myproject 3.创建独立运行环境-命名 [root@localhost Myproject]# virtualenv --no-site-packages --python=python3 venv#得到独立第三方包的环境,并且指定解释器是python3 # --no-site-packages :保证虚拟环境没有任何的第三方包 #--python=python3 指定当前机器的python3作为本体 #venv :文件夹名称 4.进入虚拟环境 [root@localhost Myproject]# cd venv [root@localhost venv]# source bin/activate #此时进入虚拟环境(venv)Myproject 查看第三方安装包 (venv) [root@localhost venv ]# pip3 list Package Version ---------- ------- pip 19.0.3 setuptools 40.8.0 wheel 0.33.1 5.安装第三方包(django) (venv) [root@localhost venv ]# pip3 install django==1.11.18 #此时pip的包都会安装到venv环境下,venv是针对Myproject创建的 再次查看第三方安装包 (venv1) [root@localhost venv]# pip3 list Package Version ---------- ------- Django 1.11.18 pip 19.0.3 pytz 2018.9 setuptools 40.8.0 wheel 0.33.1 6.创建项目 (venv1) [root@localhost venv]# django-admin startproject mysite 7.配置settings ((venv1) [root@localhost venv]# vim mysite/mysite/settings.py
#第28行 28 ALLOWED_HOSTS = ["*"] 8.启动django (venv1) [root@localhost venv]#python3 mysite/manage.py runserver 0.0.0.0:8888
9.退出venv环境 deactivate命令 virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时, virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
二、安装 virtualenvwrapper
virtualenv
的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin
目录下 source
一下 activate
,这就需要我们记住每个虚拟环境所在的目录。
并且还有可能你忘记了虚拟环境放在哪。。。
- 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
- 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
安装virtualenvwrapper
#创建文件夹 root@localhost opt]# mkdir allenv #安装 virtualenvwrapper [root@localhost allenv]# pip3 install virtualenvwrapper
设置Linux的环境变量,每次启动就加载virtualenvwrapper
把下面两行代码添加到 ~/.bashrc文件中 打开个人用户配置文件 [root@localhost allenv]# vim ~/.bashrc 写入以下代码 export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 #指定python解释器 source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
[root@localhost allenv]# source ~/.bashrc
创建一个新的虚拟换机,自动激活,这会在 ~/Envs 中创建 mydjango20文件夹
[root@localhost ~]# mkvirtualenv mydjango20 #创建mydjango20 (mydjango20) [root@localhost ~]# mkvirtualenv mydjango118 #创建mydjango18
切换到Envs目录中查看
(mydjango118) [root@localhost ~]# cd ~/Envs/ (mydjango118) [root@localhost Envs]# ll 总用量 48 -rwxr-xr-x. 1 root root 135 3月 7 16:23 get_env_details -rw-r--r--. 1 root root 96 3月 7 16:23 initialize drwxr-xr-x. 5 root root 43 3月 7 16:31 mydjango118 drwxr-xr-x. 5 root root 43 3月 7 16:27 mydjango20 -rw-r--r--. 1 root root 73 3月 7 16:23 postactivate -rw-r--r--. 1 root root 75 3月 7 16:23 postdeactivate
切换目录
(mydjango118) [root@localhost Envs]# workon mydjango20 (mydjango20) [root@localhost Envs]#
列出当前所有虚拟环境
(mydjango20) [root@localhost Envs]# lsvirtualenv mydjango118 =========== mydjango20 ==========
退出
(mydjango20) [root@localhost Envs]# deactivate
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
(mydjango20) [root@localhost Envs]# cdvirtualenv
三、确保开发环境的一致性
通过命令保证环境的一致性,导出当前python环境的包
pip3 freeze > requirements.txt
查看当前环境使用的安装包
C:Usersadmin>pip list Package Version ----------------------- ---------- beautifulsoup4 4.6.3 certifi 2018.10.15 cffi 1.11.5 chardet 3.0.4 Django 1.11.16 django-multiselectfield 0.1.8 gevent 1.3.7 greenlet 0.4.15 idna 2.7 Jinja2 2.10 MarkupSafe 1.1.0 Pillow 5.4.1 pip 18.1 pycparser 2.19 PyMySQL 0.9.3 pytz 2018.9 requests 2.20.0 setuptools 39.0.1 tqdm 4.28.1 urllib3 1.24
导出安装包
C:Usersadmin> pip3 freeze > requirements.txt
在 C:Usersadmin 找到放到linux的项目目录下下
安装
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
部署crm项目
创建cem虚拟环境
(mydjango118) [root@localhost opt]# mkvirtualenv crm (crm) [root@localhost opt]#
安装需要的第三方安装包
crm) [root@localhost opt]# pip3 install -i https://pypi.douban.com/simple -r requirements.txt
安装数据库
(crm) [root@localhost opt]# yum install mariadb-server mariadb -y
启动mariadb数据库,修改Ace_crm的settings.py配置文件,修改mysql数据库驱动
迁移数据库
(crm) [root@localhost opt]# python3 day81/Ace_crm/manage.py migrate
启动
(ace_crm) [root@localhost opt]# python3 Ace_crm/manage.py runserver 0.0.0.0:9999