Python3创建虚拟环境

发布时间:2019-07-25 09:14:18编辑:auto阅读(1411)

    0x00 前言

            Python 应用程序经常会使用一些不属于标准库的包和模块。应用程序有时候需要某个特定版本的库,因为它需要一个特定的 bug 已得到修复的库或者它是使用了一个过时版本的库的接口编写的。
            这就意味着可能无法安装一个 Python 来满足每个应用程序的要求。如果应用程序 A 需要一个特定模块的 1.0 版本但是应用程序 B 需要该模块的 2.0 版本,这两个应用程序的要求是冲突的,安装版本 1.0 或者版本 2.0 将会导致其中一个应用程序不能运行。
          这个问题的解决方案就是创建一个 虚拟环境 (通常简称为 “virtualenv”),包含一个特定版本的 Python,以及一些附加的包的独立的目录树。
           不同的应用程序可以使用不同的虚拟环境。为了解决前面例子中的冲突,应用程序 A 可以有自己的虚拟环境,其中安装了特定模块的 1.0 版本。而应用程序 B 拥有另外一个安装了特定模块 2.0 版本的虚拟环境。如果应用程序 B 需求一个库升级到 3.0 的话,这也不会影响到应用程序 A 的环境。

    0x01  virtualenv 方式

        virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。由于本人电脑有python2.7 和python3.5版本,所以在很多时候,我会采用绝对路径来安装(因为默认使用python2.7,为了平时兼容sqlmap等程序)

    virtualenv windows安装:

    C:\Appie
    $C:\Python35\Scripts\pip install virtualenv
    验证是否安装成功:
    C:\Appie
    $ C:\Python35\Scripts\virtualenv --version
    15.0.3

    C:\Python35\Scripts
    $ virtualenv E:\Python3\pyvenv6

    C:\Appie                                   
    $ E:\Python3\pyvenv6\Scripts\activate.bat  
                                               
    (pyvenv6) C:\Appie                         
    $ python --version                         
    Python 3.5.2                               
                                               
    (pyvenv6) C:\Appie                         
    $ deactivate                               
    C:\Appie                                   


    问题1:进行安装虚拟环境时,提示【vcruntime140.dll缺失】

    解决:

    1.将文件夹【C:\Python35】下python*.dll和vcruntime140.dll这三个文件复制到文件夹【C:\Python35\Scripts】

    2.将文件夹【C:\Python35】下vcruntime140.dll 复制到文件夹【C:\Windows\SysWOW64】

    3.然后按键win +r 打开【运行】窗口输入:【regsvr32 vcruntime140.dll】

    4. 之后注销电脑或者重启电脑。

    问题2:进入虚拟环境后,提示【vcruntime140.dll缺失】

    解决:

    1.将文件夹【C:\Python35】下vcruntime140.dll 复制到文件夹【E:\Python3\pyvenv6\Scripts】

    2.即是将文件夹【C:\Python35】下vcruntime140.dll  复制到我们的python环境中文件夹【Scripts】

    virtualenv linux安装:

    root@kali:~# pip install virtualenv

    root@kali:~#virtualenv -p /usr/bin/python3.4 /root/11

    root@kali:~# source /root/11/bin/activate
    (11) root@kali:~# python
    Python 3.4.2 (default, Oct  8 2014, 13:14:40) 
    [GCC 4.9.1] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 

    0x02  pyenv方式

    pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。

    pyenv windows 安装:

    C:\Appie

    $cd C:\Python35\Tools\scripts && pyvenv.py E:\Python3\pyvenv5


    C:\Appie 
    $ E:\Python3\pyvenv5\Scripts\activate.bat      #激活并且进入虚拟环境            
    (pyvenv5) C:\Appie

                                                                          
    $ python                                                                                       
    Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 
    Type "help", "copyright", "credits" or "license" for more information.                         
    >>>                                                                                            

    (pyvenv5) C:\Python35\Tools\scripts
    $ deactivate       #退出python虚拟环境          


    C:\Python35\Tools\scripts
    $

    pyenv linux安装:

    详细安装使用参考:

    https://github.com/yyuu/pyenv#installation


    0x03 参考资料

    注意不同的安装方式,安装后的虚拟环境是不一样的;并且在同一个安装方式下,不同版本python的虚拟环境也是不一样的。这点要切记。

    http://www.pythondoc.com/pythontutorial3/venv.html

    https://virtualenv.pypa.io/en/stable/installation/

    http://www.cnblogs.com/npumenglei/p/3719412.html


    欢迎大家分享更好的思路,热切期待^^_^^ !


关键字