首页 > 系统相关 >windows下 python virtualenv 虚拟环境安装

windows下 python virtualenv 虚拟环境安装

时间:2022-08-18 20:13:44浏览次数:62  
标签:virtualenv windows python 虚拟环境 pip 安装 目录

1.  虚拟环境 virtual environment

  借助虚拟化技术,把机器中一部分内容独立出来。这部分独立的内容一般被称为 “容器”。 在这个容器中,我们可以安装需要的依赖包,各个容器之间互相隔离,互不影响。

  例如: 我们需要一个Django web开发环境,就可以做一个Django的虚拟环境,里面只安装Django相关的包。

      我们需要一个爬虫框架Scrapy的开发环境,就可以只做一个Scrapy的虚拟环境,里面只安装Scrapy相关的包即可。

2. 为什么要用虚拟环境

  a. 不同的项目依赖的python版本不一样。

  b. 不同的项目需要下载各种不同的框架库,如Scrapy Beautiful soup flask django 等 

  c. 每个项目使用相同的框架但是使用的框架版本不一样。

       根据以上问题,如果没有虚拟环境,开发者需要根据不同的项目来切换python的版本,或者根据不同项目的需求不断的更新或者卸载或者安装相应的库。

  直接对python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。

  具体场景如下:

    场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;

    场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,如果不使用虚拟环境,这这两个项目无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。

         而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。

    场景3:开发某个应用工具,建虚拟环境可以避免安装不使用的包,这样在最后的打包过程中就可以减少包的体积,使应用轻量化。

3. 虚拟环境virtualenv的安装以及配置

  虚拟环境安装需要借助系统中已安装的python环境,所以需要先安装python。这里我按照了python 2.7 和 3.6两个版本。

  为什么选择python的这两个版本?

    后期会通过这两个版本做一个web Django 项目。Django框架中既支持python2,又支持python3的最后一个版本是1.11。Django1.11支持2.7 .3.4,3.5,3.6三个版本。

    使用Django1.11后期可以切换python2和python3的版本在python2和python3环境下部署测试。

  a. 安装Python

    1)下载安装包,并安装python2.7,将 python.exe 改成 python27.exe

    2)下载安装包,并安装python3.6,将 python.exe 改成 python36.exe

    3)设置环境变量PATH

      增加python安装目录:D:\soft\Python36、D:\soft\Python27路径, 最好将Python37的目录放到Python27的目录之前,这样命令行会优先执行Python37中的程序。

    4) 启动python命令要用: python27或python37,以指明运行哪个python

    5) 更换国内镜像源 

      python36 -m pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple/

      执行命令后提示Writing to C:\Users\sbb\AppData\Roaming\pip\pip.ini。证明写入成功

      国内常用Python镜像源:

      华为:https://repo.huaweicloud.com/repository/pypi/simple

      中科大:https://pypi.mirrors.ustc.edu.cn/simple/

      阿里云:http://mirrors.aliyun.com/pypi/simple/

      中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple

      清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

      豆瓣:http://pypi.douban.com/simple/

      华中理工大学:http://pypi.hustunique.com/simple

      山东理工大学:http://pypi.sdutlinux.org/simple

  b. 安装virtualenv

    在任意目录下,运行:python36 -m pip install virtualenv

    如果提示如下内容: 

You are using pip version 18.1, however version 21.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

    执行命令: python36 -m pip install --upgrade pip 然后重新执行 python36 -m pip install virtualenv

  c. 使用virtualenv建立虚拟环境

   1)创建虚拟环境目录: D:\python_envs

   2)建立虚拟环境:

      在D:\soft\Python36\Scripts目录执行:virtualenv.exe -p "D:\soft\Python27\python27.exe" "D:\python_envs\py27_dj111"

      该命令将建立一个 py27_dj111 的目录和一个干净的 Python2 环境。

      在D:\soft\Python36\Scripts目录执行:virtualenv.exe -p "D:\soft\Python36\python36.exe" "D:\python_envs\py36_dj111"

      该命令将建立一个 py36_dj111 的目录和一个干净的 Python3 环境。

      

   3)运行虚拟环境:在D:\python_envs\py27_dj111中运行 activate。即可进入这个 python 虚拟环境。

      退出这个虚拟环境,可在任意路径下输入命令:deactivate

      在python2.7和3.6环境中安装django1.11

      运行 py27_dj111 虚拟环境,并在目录D:\python_envs\py27_dj111\Scripts中输入命令:

         (pip install django==1.11 这个命令可能安装失败,如果失败,使用后面的命令安装) 

          pip install django==1.11 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

      运行 py37_dj111 虚拟环境,并在目录D:\python_envs\py36_dj111\Scripts中输入命令:

          pip install django==1.11

4. 虚拟环境virtualenvwrapper的安装以及配置(windows 下使用软件virtualenvwrapper-win安装)

  比较一下几种虚拟环境: 

      virtualenvwrapper:解决了virtualenv的一个最大的缺点: 每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

                virtualenvwrapper将所有的虚拟环境目录全都集中起来放到一个目录中,并对不同的虚拟环境使用不同的目录来管理。

                省去了每次开启虚拟环境active操作,直接workon进行切换,使得虚拟环境更加好用。

      virtualenv: virtualenv同时支持 Python2 和 Python3,而且可以为每个虚拟环境指定 Python 解释器,并选择不继承基础版本的包。

      venv: Python 从3.3 版本开始,自带了一个虚拟环境 venv。

          它的很多操作都和 virtualenv 类似,但是两者运行机制不同。

          因为仅仅支持 python 3.3 和以后版本。所以,要在 python2 上使用虚拟环境,依然要利用 virtualenv 

      pipenv:pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv,能够有效管理Python多个环境,各种第三方包及模块。

          pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。主要完成两个功能:1) 创建虚拟环境 2) 依赖管理

  

  windows 安装virtualenvwrapper , 因为依赖virtualenv, 所以安装前需要先安装virtualenv

    在任意目录下,运行:python36 -m pip install virtualenvwrapper-win

    配置虚拟环境的家目录:

      如果不配置虚拟环境的家目录的话,virtualenvwrapper会在系统盘,当前所登陆用户的目录下创建一个Envs的文件夹,我们所创建的虚拟环境都会放到该文件夹中。

      所以在此直接配置到非系统盘的路径下,在 我的电脑->右键->属性->高级系统设置->环境变量->系统变量 中添加一个参数 WORKON_HOME,将这个参数的值设置为你需要的路径。

      设置WORKON_HOME = D:\python_envs

      path中添加环境变量: D:\soft\Python36\Scripts (里面有workon等 virtualenvwrapper相关命令)

    配置之后的常用命令: 

列出虚拟环境列表:workon
新建虚拟环境:mkvirtualenv [虚拟环境名称] 
启动/切换虚拟环境:workon [虚拟环境名称]
离开虚拟环境:deactivate

    在目录D:\soft\Python36\Scripts中修改 mkvirtualenv.bat文件,

    将set "venvwrapper.virtualenv_executable=virtualenv" 修改为 set "venvwrapper.virtualenv_executable=%CD%\virtualenv" 或者 set "venvwrapper.virtualenv_executable=%~dp0\virtualen

    进入到D:\soft\Python36\Scripts中执行命令 workon查看虚拟环境列表,并创建虚拟环境命令如下:

    

 

     mkvirtualenv创建虚拟环境后会自动进入该环境

    查看虚拟环境中安装的包:pip freeze  或 pip list

    

 

    收集当前环境中安装的包及其版本:

     

 

     新建一个虚拟环境py27_dj112,然后安装requirements中软件及版本来安装。mkvirtualenv -p "D:\soft\Python27\python27.exe" py27_dj112

    

     pip freeze 再次查看软件安装列表

     

     还可以进入虚拟环境后,手动安装,通过 pip install 包名。 前面安装django演示过了。

5. pycharm中启用虚拟环境:

  

    

    

 

    

    

    

 

  

标签:virtualenv,windows,python,虚拟环境,pip,安装,目录
From: https://www.cnblogs.com/sunbenbao/p/16598344.html

相关文章

  • Python|使用Python实现图像的重采样
    基础知识图像重采样就是从高分辨率遥感影像中提取出低分辨率影像,或者从低分辨率影像中提取高分辨率影像的过程。常用的方法有最邻近内插法、双线性内插法、三次卷积法等。......
  • MySQL多表查询与python操作MySQL
    一、navicateNavicate是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQLServer、MariaDB 和 MongoDB 等不同类型的数据库......
  • python 中实现DNA一致性序列计算
     001、root@PC1:/home/test#lsa.fastatest.pyroot@PC1:/home/test#cata.fasta##测试数据>Rosalind_1ATCCAGCT>Rosalind_2GGGCAACT>Rosalin......
  • Windows PowerShell 使用
    启动PowerShell 开始菜单 搜索 win+r运行get-help查看帮助get-command查看有哪些命令get-command......
  • Python list methods All In One
    PythonlistmethodsAllInOnePython3#!/usr/bin/envpython3#coding=utf-8__author__='xgqfrms'__editor__='vscode'__version__='1.0.1'__copyrigh......
  • vue学习之------Windows PowerShell不识别vue命令
    已经全局安装了vue-cli,但是WindowsPowerShell不识别vue命令: 解决办法:1、以管理员身份运行PowerShell2、执行set-ExecutionPolicyRemoteSigned3、输入Y,回车,即可......
  • python菜鸟学习: 9. 文件操作
    #-*-coding:utf-8-*-importsys,time#读文件:一次性读取所有内容#r=readf=open("singe.txt",'r',encoding="utf-8").read()print(f)#写文件,覆盖原来的文件#w=wr......
  • python 读取.pkl.gz文件
    1importpandasaspd2importsix.moves.cPickleascPickle3importgzip45filePath='./a/data.pkl.gz'6f=gzip.open(filePath,'rb')7df=pd.D......
  • Python进阶篇02-函数
    一、常规函数的定义函数函数就是一段组织好的、可以重复使用的代码块。比如在你写的某个.py文件中,需要频繁的计算面积,这样我们会有很多相似、重复的代码,在这种情况下,我......
  • Python 创建虚拟环境
    桌面建立一个文件夹,假设为tor打开cmdcddesktopcdtor假设python没有  pipenv包,则pip3installpipenv假设tor文件夹内没有虚拟环境,即没有pipfiel及p......