• python——虚拟环境之virtualenv(windows10,64位)


    1 问题

      当我们拥有两个甚至多个项目A、B、C......,各个项目正常运行需求的python运行环境都不相同。而默认情况下,不管哪个项目,使用的都是全局的Python环境。上述情况,造成的问题就是,A、B、C等项目,只能运行一个;如果运行另一个,必须安装与之匹配的库版本。

    2 解决思路

      创建一个完全独立的局部python环境(或叫做虚拟环境)。在此环境中,安装所有与某个项目相匹配库即可。总之,一个项目,使用一个虚拟环境;互相之间,没有干扰。

    3  具体解决步骤

      3.1  安装第三方包virtualenv

        当电脑里面有多个版本的python的时,可以指定版本来进行安装。代码见下:

          pip install virtualenv

          或者

          python3 -m pip install virtualenv

       

      3.2 virtualenv的简单应用

        3.2.1 创建一个局部的隔离的虚拟环境

         打开命令提示符,cd进入到项目myproject(必须根据自己的项目进行修改)所在路径,创建项目myproject的虚拟环境。

          (1) 语法
            virtualenv 虚拟环境名称
            例如:virtualenv ENV
          (2) 可选参数

          (i) -p :指明Python版本创建,到时候就使用此版本的解释器,默认是你安装viretual 包的时候,用的python解释器
          例如:virtualenv -p  C:Python27python.exe ENV
          (ii) --system-site-packages:继承系统的三方库。到时候,检索库的时候,也会到系统的三方库中查找,如果不加此项,到时候只会在当前的虚拟环境中找
          例如:virtualenv --system-site-packages ENV

         创建完成后,会在myproject文件夹下自动生成一个ENV文件夹,效果见下图:

     

        ENV文件夹里面的内容见下图:

        

        3.2.2 激活虚拟环境
          (1) 语法
            打开命令提示符,进入到虚拟环境目录/scripts文件夹中,输入activate.bat
          (2) 界面效果

        

          (3) 作用效果
            在环境的激活状态,后续所有的操作都是基于这个虚拟的Python环境包的安装和卸载。代码的执行,比如:pip install 包名(如requests)
          如果不激活创建的虚拟环境,到时候会被安装在全局Python环境中。激活后,则会安装在虚拟环境中。

        3.2.3 在激活状态下的操作
          操作三方库、执行py文件等等
          注意:以上所有操作,均作用在被激活的虚拟环境中

        3.2.4 退出虚拟环境
          (1) 语法
            进入到虚拟环境目录/scripts文件夹中,输入命令deactivate.bat
          (2) 界面效果
        

          (3) 作用效果
            
    退出后,所有后续操作,又会再次的作用于全局的Python环境中
        
    3.2.5 删除虚拟环境

          直接把项目文件目录下的ENV文件夹删除即可。

      更多使用命令见官网:https://virtualenv.pypa.io/en/latest/userguide/

    4 补充
      
    以后把项目给别人的时候,就可以连同虚拟环境和项目一起拷贝给别人。但是当虚拟环境非常大的时候,这种方法显然不实际。这就需要用到另一种方法了。
    即在虚拟环境中,冻结依赖需求文本,把项目和依赖需求文本给别人。

  • 相关阅读:
    Oracle EXPDP/IMPDP示例
    Oracle修改日志归档模式、归档路径以及空间大小的相关测试
    CentOS6.8 安装 Oracle11.2.0.4
    安装ORACLE时 各Linux版本下载地址
    Oracle数据库导入报ORA-39083处理
    oracle跨平台数据迁移 expdp/impdp 字符集问题 导致ORA-02374 ORA-12899 ORA-02372
    ASM路径问题导致数据库不能正常启动 -- 报:ORA-03113: end-of-file on communication channel
    oralce11g RAC 启动后 CRS-0184: Cannot communicate with the CRS daemon.
    Oracle 11g安装时针对不同操作系统所需的依赖包查询地址
    关于oracle RAC心跳线采用直连 还是交换机连接的建议
  • 原文地址:https://www.cnblogs.com/cuizhu/p/9456390.html
Copyright © 2020-2023  润新知