虚拟环境

简介: 虚拟环境介绍和使用。

思考: 童鞋们家里父母的钱都放在哪?父亲藏私房钱了吗?藏哪了?

1.1 为什么需要虚拟环境:

不管做什么类型的开发, 都建议学会虚拟环境, 无论是django, flask, 人工智能开发等.

到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,xx是第三方安装包的名字, 这样安装会将那个包安装到你的系统级的Python环境. 安装到python36的路径下边.

在什么情况下不能使用系统级别的环境?

但是这样有一个问题,就是如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。同一个环境中不能安装两个版本的同一个包的. 这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.10和Django 0.9两套环境呢?这时候我们就可以通过虚拟环境来解决这个问题。

虚拟环境在项目开发中必须学会, 如果只有一个项目就用系统级别的环境, 不搞那么麻烦, 可不可以呢? 可以的, 但是项目可能要做很久, 依赖于某一个包的话, 那么这个包可能不能及时的升级. 多个项目之间用的包是不一样的, 比如项目一用a,b,c三个包, 项目二用b,c,d三个包,如果都放在系统级别的环境下, 那么系统级别python环境变得越来越大, 越来越不好管理, 如果你独立的项目, 就可以创建单独的虚拟环境去执行这个项目.

1.2 虚拟环境原理介绍:

虚拟环境相当于一个抽屉,在这个抽屉中安装的任何软件包都不会影响到其他抽屉。并且在项目中,我可以指定这个项目的虚拟环境来配合我的项目。比如我们现在有一个项目是基于Django 1.10.x版本,又有一个项目是基于Django 0.9.x的版本,那么这时候就可以创建两个虚拟环境,在这两个虚拟环境中分别安装Django 1.10.x和Django 0.9.x来适配我们的项目。

查看当前系统级别的环境下安装过哪些第三方包 pip list

1.2.1 安装virtualenv:

virtual虚拟 environment

virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装:

安装在系统级别的环境中, 因为我们需要用它去创建虚拟环境.

    pip install virtualenv
    pip3 install virtualenv

如果你同时安装了python2和python3,:

  • 使用pip install virtualenv, 会将virtualenv安装在python2中
  • 使用pip3 install virtualenv, 会将virtualenv安装在python3中

如果你只安装了一个python版本:

  • pip install virtualenv, 会将virtualenv安装到相应的python版本中

    1.2.2 创建虚拟环境:

创建虚拟环境非常简单,通过以下命令就可以创建了:

进入到想要创建虚拟环境的目录下, 执行创建虚拟环境的语句, 会在当前目录下创建虚拟环境:

    virtualenv [虚拟环境的名字]

如果你当前的Python3/Scripts的查找路径在Python2/Scripts的前面,那么将会使用python3作为这个虚拟环境的解释器。如果python2/Scripts在python3/Scripts前面,那么将会使用Python2来作为这个虚拟环境的解释器。

1.3 进入环境:

虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows,第二种是*nix:

  1. windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。
    左侧不再显示路径, 显示虚拟环境的名字, 代表进入到该虚拟环境中
  2. *nix进入虚拟环境:source /path/to/virtualenv/bin/activate
    一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。

进入到虚拟环境后, 你所做的任何操作都e只在这个虚拟环境中起作用.

比如在这个虚拟环境中安装django1.10, 那么不会对其他的无论是系统环境还是其他虚拟环境都不会产生影响, 例如pip install django == 1.10

1.4 退出虚拟环境:

退出当前的虚拟环境,通过一个命令就可以完成:deactivate。

1.5 创建虚拟环境的时候指定Python解释器:

在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的Python2/Scripts在Python3/Scripts的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用Python3这个版本,这时候可以通过-p参数来指定具体的Python解释器:

    virtualenv -p C:\Python36\python.exe [virutalenv name]

思考: virtualenv可以为我们提供了哪些方便?又有哪些不足的地方呢?

方便项目管理 在系统中创建多个虚拟环境 不同的虚拟环境中可以安装不同版本的不同的包

环境1: a, b, c

环境2: a, d, t

系统环境: a b c d t h j k m


  1. 得先进入到指定的路径 再去创建虚拟环境(直接创建, 把所有的虚拟环境包, 都规整一块就好啦)
  2. 进入这个虚拟环境的文件夹 在进入虚拟环境中的scripts这个文件夹(要是能直接通过虚拟环境名进去)
相关文章
|
1月前
|
Python
虚拟环境
【1月更文挑战第2天】虚拟环境 。
36 1
|
1月前
|
PyTorch TensorFlow 算法框架/工具
conda 创建虚拟环境
conda 创建虚拟环境
121 0
|
8月前
|
Python
Anaconda中建立虚拟环境
更多文章可关注我的微信公众号:Python学习杂记
54 1
anaconda创建一个新的虚拟环境
anaconda创建一个新的虚拟环境
anaconda创建一个新的虚拟环境
|
测试技术 Python
python virtualenv虚拟环境配置与使用
python virtualenv虚拟环境配置与使用
178 0
|
Shell Python
python虚拟环境(venv、virtualenv)及虚拟环境管理工具(virtualenvwrapper)
  Python应用开发时,本机的Python环境中安装各种各样的包的话,随着项目的增加,每次运行时都需要处理一下各种不同版本的依赖库,而且python版本也可能使用的不同,这样做很耗时。这就需要虚拟出不同的Python版本的环境,可以让虚拟环境专门为某一个应用而存在,且允许在虚拟环境中安装各种包。而且不影响本机大的python环境,便于开发环境和生产环境的管理。
383 0
|
Python
Pycharm虚拟环境的使用
Pycharm虚拟环境的使用
143 0
Pycharm虚拟环境的使用
|
Docker Python 容器
Python 虚拟环境 virtualenv
Python 虚拟环境 virtualenv
669 0
Python 虚拟环境 virtualenv
Jupyter notebook运行指定的conda虚拟环境
Jupyter notebook运行指定的conda虚拟环境
778 0
Jupyter notebook运行指定的conda虚拟环境
|
Python 开发工具 IDE
python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm
python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm 1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Django,十分不便。
2151 0