Linux下安装配置virtualenv与virtualenvwrapper
一、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:\Users\admin>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:\Users\admin> pip3 freeze > requirements.txt
在 C:\Users\admin 找到放到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
Linux下安装配置virtualenv与virtualenvwrapper的更多相关文章
- 【Linux下安装使用virtualenv与virtualenvwrapper】
virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的 ...
- Linux 下安装配置 JDK7
Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...
- linux 下安装配置jboss as7以及部署应用
linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...
- Linux下安装配置与使用MySQL数据库
Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- Linux下安装配置MySQL5.7服务器
Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...
- Linux下安装配置Jmeter5.1,并执行jmx文件
Windows下的jmeter是GUI模式,可查看操作,但是GUI对性能的干扰比较大,所有一般压测会在Linux上运行. 下面是Linux下安装配置Jmeter5.1,并执行jmx文件的步骤, 一.安 ...
- linux下安装配置svn服务器
linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...
随机推荐
- C#Enum用Tuple保存值绑定到前端的CheckBox
//把数字转成枚举 public static T[] NumStringsToEnums<T>(string enumNumString ) //where T:Enum { if (s ...
- 【C++ Primer | 10】再探迭代器
插入迭代器 1. 测试代码: #include<iostream> #include<vector> #include<list> #include<iter ...
- Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- Android Studio运行项目报错:Error:null value in entry: annotationProcessorOutputFolder=null的解决方案
一般是在Android studio异常退出(比如强制关机)后,重新打开后运行项目出现该问题. 解决方案 删除项目根目录的.gradle文件夹,然后Clean Project —— Rebulid ...
- 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票. 示例 ...
- 007 numpy数组文件的存取
不知道这个有没有用,都整理了一番. 一:数组以二进制格式进行存储 1.说明 np.save与np.load是读写磁盘数组数据的两个重要函数. 默认情况下,数组以压缩的原始二进制格式保存在扩展名为npy ...
- list set接口之间的区别
list接口它的实现类,比如arraylist里面的值有序,并且可以重复.(有序指的是插入进去的顺序) set无序,且不可重复.(这里的无序就是指不是插入进去的顺序,但其实也不是真的无序,它会按照自己 ...
- vdom,diff,key 算法的了解
<ul id='list'> <li class='item'>Item1</li> <li class='item'>Item2 </li> ...
- 剑指offer 1,输入一个字符串,将字符串的空格替换成%20
剑指offer 1,输入一个字符串,将字符串的空格替换成%20 function replaceSpace(str){ return str.replace(/\s/g,"% ...
- P1168 中位数
P1168 中位数树状数组+二分答案.树状数组就是起一个高效查询比二分出来的数小的有几个. #include<iostream> #include<cstdio> #inclu ...