使用 virtualenv 创建虚拟环境

首先弄明白为啥要有虚拟环境?

​ 当手上项目越来越多,项目依赖就会存在 问题,不同的版本 是否能够兼容 。这个时候就需要在不同的项目上使用不同的python 某些库 不同的版本。 这样的话,如果 有两个 项目 同时使用一个 python的环境。那么 这两个项目 使用相同的包,但是版本 却不同 ,这个时候 怎么办?

这个 时候 就需要 为每个项目 创建不同的环境,这样就可以实现环境的隔离。 就是 在不同的项目里面 使用不同的版本的package。

使用 virtualenv 创建虚拟环境

1 创建虚拟环境

创建虚拟环境
# 安装virtualenv 
pip install virtualenv

cd your_project
# venv为虚拟环境目录名,目录名自定义
virtualenv venv 

img1

1-1. 补充 创建 虚拟 环境有一些选项

-p or --python 这个选项用来指定解释器的位置 , 如果 本地装了多个python 版本,要用这个指定一下 用哪个解释器来生成虚拟环境。

我本地环境里面有两个 python 版本

$ ll /c/Software/python37/python
-rwxr-xr-x 1 changfx 1049089 99856 Jul  8 20:36 /c/Software/python37/python*

$ ll  /c/Software/python36/python
-rwxr-xr-x 1 changfx 1049089 99856 Dec 24  2018 /c/Software/python36/python*
 virtualenv  -p  /c/Software/python37/python   venv37
 virtualenv  -p  /c/Software/python36/python   venv

img2

1-2 激活虚拟环境

# 激活虚拟环境
# mac,linux 环境 
source venv/bin/activate
# windows  环境 
source venv/Scripts/activate

1-3 退出虚拟环境

# 退出虚拟环境  
deactivate

使用 python -m 来生成 虚拟环境

$ python -m venv venv-test

这里 会在当前目录生成一个 venv-test 的 虚拟环境 , python 可以指定一个绝对路径,这样就可以 根据 这个python 的版本 来生成对应 版本的虚拟环境。

在python 3.3 之后 有一个模块 专门 用来生成 虚拟 环境

venv 来生成 虚拟环境 https://docs.python.org/zh-cn/3/library/venv.html#venv-def

3.3 新版功能.

源码: Lib/venv/

查看 帮助信息

python -m venv  -h 

2 使用方法

python -m venv /path/to/new/virtual/environment

python -m venv /path/to/new/virtual/environment

2-1 创建 python3.6 的虚拟环境

 # 创建虚拟环境 
 python -m  venv     venv-test

$ source venv-test/Scripts/activate
(venv-test)
changfx@LNGSHAL-275 MINGW64 ~/myproject
$ python --version
Python 3.6.8
(venv-test)

# 推出虚拟环境 
changfx@LNGSHAL-275 MINGW64 ~/myproject
$ deactivate

2-2 创建 python3.7 的虚拟环境

这里 创建 python37 的虚拟环境

$ /c/Software/python37/python  -m venv   venv-37

changfx@LNGSHAL-275 MINGW64 ~/myproject
$ ll
total 0
drwxr-xr-x 1 changfx 1049089 0 Sep 27 09:20 venv-37/
drwxr-xr-x 1 changfx 1049089 0 Sep 27 09:17 venv-test/

changfx@LNGSHAL-275 MINGW64 ~/myproject

# 激活虚拟环境 Windows 
$ source venv-37/Scripts/activate
(venv-37)
changfx@LNGSHAL-275 MINGW64 ~/myproject
$ python --version
Python 3.7.4
(venv-37)
changfx@LNGSHAL-275 MINGW64 ~/myproject
$ deactivate

总结

python 的虚拟环境 其实有很多,各种虚拟环境 。 官方 推荐就是 使用 lib/venv 这个模块 来生成的python 虚拟环境 。 当然 第三方 也有 很多方案。比如 conda , pipenv ,pyenv ,poetry 等等。 pyenv 就不要用了。

引用官方的一句 话:

3.6 版后已移除: pyvenv 是 Python 3.3 和 3.4 中创建虚拟环境的推荐工具,不过 在 Python 3.6 中已弃用

工具本身 没有任何错误 ,大家觉得 用的顺手就可以了。 我不推荐 任何 虚拟环境,大家根据喜好 自行选择 。

参考文档

modul-venv

你是如何管理虚拟环境和项目依赖

poetry github

分享快乐,留住感动. 2019-09-27 18:49:13 --frank
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值