专栏首页python3Python3创建虚拟环境

Python3创建虚拟环境

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python文件处理练习

    用户2398817
  • 升级python版本和搭建环境

    由于上面这个错误我需要把我的Python版本从python3.7.2升级到3.7.3。 官网下载最新的python安装文件之后,双击选择repair即可升级。 ...

    用户2398817
  • 安装Python3.5

    (这样做的目的是在系统任意目录下敲入python调用的都是python3.5的命令,而非系统默认的2.6.6。但是这样会导致依赖python2.6的yum不能使...

    用户2398817
  • IPv6 socket编程上--原理篇

    背景 研究IPv6 socket编程原因: Supporting IPv6 in iOS 9 WWDC2015苹果宣布在ios9支持纯IPv6的网络服务,并且要...

    微信终端开发团队
  • 腾讯云批量计算介绍

    工作负载的分类方法和标准多种多样,其中 Google 提出的一种简单的分类标准广受认可,即将工作负载分为服务型和批处理型。

    用户4918923
  • 分类问题样本不均衡常见的解决方法

    分类时,由于训练集合中各样本数量不均衡,导致模型训偏在测试集合上的泛化性不好。解决样本不均衡的方法主要包括两类:(1)数据层面,修改各类别的分布;(2)分类器层...

    CodeInHand
  • Oracle丢失重做日志的几种场景恢复

    命令成功执行,会将所有已经提交的更改写入磁盘的数据文件中。就跟INACTIVE重做日志组处理流程一致了。

    Alfred Zhao
  • HDUOJ----专题训练C

    Problem C Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (J...

    Gxjun
  • SpringBoot非官方教程 | 第十七篇:上传文件

    这篇文章主要介绍,如何在springboot工程作为服务器,去接收通过http 上传的multi-file的文件。 构建工程 为例创建一个springmvc工程...

    方志朋
  • centos修改主机名 root@后面的名字

    阿里云买的新的ESC,名字都是一串字符,不利于平时使用。我们可以重命名主机来标记。

    Ryan-Miao

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动