虚拟环境virtualenv的安装使用

virtualenv pyhton虚拟环境

原来的python3解释器, 以它为本体, 创建多个分身

安装虚拟环境

使用virtualenv命令创建虚拟环境时,则会在当前目录下创建,使用virtualenvwrapper才可以统一创建目录。

步骤:

1 下载安装虚拟环境模块
pip3 install virtualenv -i https://pypi.douban.com/simple 
2 创建二个虚拟环境
在/opt/virtual_env目录下新建两个虚拟环境
virtualenv --no-site-packages --python=python3 django_1
virtualenv --no-site-packages --python=python3 django_2
3 激活虚拟环境
相对路径:
cd /opt/virtual_env/django_1/bin
source activate

绝对路径:
source /opt/virtual_env/django_1/bin/activate
(等效于virtualenvwrapper中的workon)

同理,另起一个终端,令其工作在django_2的虚拟环境下
4 分别在两个虚拟环境中安装不同版本的django
pip install django==1.8 -i https://pypi.douban.com/simple
pip install django -i https://pypi.douban.com/simple
5 查看两个虚拟环境中安装的包列表, 确认两个虚拟环境的不同:

echo $PATH

/opt/virtual_env/django_1/bin:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

现在的环境变量第一位是虚拟环境下面的python3解释器,跟python本体的解释器不一样

which python3

/opt/virtual_env/django_1/bin/python3
6 分别在两个虚拟环境下面创建两个django项目test_pro1和test_pro2

​ 在1.8这个版本的django下,用9000端口来跑

​ 在2.2.5这个版本的django下,用8000端口来跑

​ (1) 分别进入两个虚拟环境,分别创建django项目,但是都在/home/project_dir/django_pro目录下

进入django_1虚拟环境下:
source /opt/virtual_env/django_1/bin/activate
cd /home/project_dir/django_pro
django-admin startproject test_pro1

再进入django_2虚拟环境下:
source /opt/virtual_env/django_2/bin/activate
cd /home/project_dir/django_pro
django-admin startproject test_pro2

并在settings.py文件中,将ALLOWED_HOSTS = ["*"]
然后分别启动两个项目:
python3 manage.py runserver 0.0.0.0:8000
python3 manage.py runserver 0.0.0.0:9000

(因为django1.8版本需要指定访问url,并且返回的页面,所以没有得到小火箭的页面)

virtualenv这个工具太麻烦了

1 命令太长, 不容易记住

2 管理虚拟环境特别麻烦, 容易弄错目录,容易找不到虚拟环境,最终导致得重装系统或者重装虚拟环境

确保开发环境的一致性

解决方案:
1.通过命令保证环境的一致性,导出当前python环境的包
pip3 freeze > requirements.txt

这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包 以及各自的版本的简单列表。
可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。

2.上传至服务器后,在服务器下创建virtualenv,在虚拟环境中导入项目所需的模块依赖
pip3 install -r requirements.txt

virtualenvwrapper安装

1. 安装virtualenvwrapper

一定要安装在python解释器本体下!!!

pip3 install virtualenvwrapper -i https://pypi.douban.com/simple

2. 设置linux的用户配置文件配置virtualenvwrapper

vim ~/.bashrc

export WORKON_HOME=$HOME/Envs   # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   # 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3       # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变)
source /opt/python36/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本

注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!!

真实实验环境配置文件如下:

export WORKON_HOME=$HOME/Envs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' 
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3
source /opt/python36/bin/virtualenvwrapper.sh

3. 重新加载~/.bashrc文件

source ~/.bashrc

4. 登出用户,重新再登录

# 退出远程ssh连接
logout

5. 创建一个虚拟环境

mkvirtualenv TS
mkvirtualenv ts
# 当系统下存在多个版本的python解释器时,例如python2.7与python3.6版本,则在创建虚拟环境的时候命令如下:
mkvirtualenv TS -p python3 # 根据python3创建虚拟环境
mkvirtualenv ts -p python  # 根据python2创建虚拟环境

6. 激活虚拟环境

workon TS
workon ts

7. 删除虚拟环境

rmvirtualenv TS
rmvirtualenv ts

猜你喜欢

转载自www.cnblogs.com/Ethan-TS/p/12078474.html