官网:https://virtualenv.pypa.io/en/stable/userguide/

virtualenv通过创建独立Python开发环境的工具, 来解决依赖、版本问题

基本使用:

dahu@dahu-OptiPlex-3046:~/myfile$ virtualenv ENV  #创建一个名为ENV的目录, 并且安装了ENV/bin/python, 创建了lib,include,bin目录
New python executable in /home/dahu/myfile/ENV/bin/python
Installing setuptools, pip, wheel...done.
dahu@dahu-OptiPlex-3046:~/myfile$ cd ENV
dahu@dahu-OptiPlex-3046:~/myfile/ENV$ ls -lh
total 20K
drwxrwxr-x 2 dahu dahu 4.0K 9月 11 14:10 bin
drwxrwxr-x 2 dahu dahu 4.0K 9月 11 14:10 include
drwxrwxr-x 3 dahu dahu 4.0K 9月 11 14:10 lib
drwxrwxr-x 2 dahu dahu 4.0K 9月 11 14:10 local
-rw-rw-r-- 1 dahu dahu 60 9月 11 14:10 pip-selfcheck.json
  • lib,所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/
  • bin,bin/python是在当前环境是使用的python解释器

继承/usr/lib/python2.7/site-packages下的所有库,当前版本默认是不继承全局库的,以前的用法是 --no-site-packages ,这个弃用了

virtualenv --system-site-packages ENV

目前我用的virtualenv的版本是

dahu@dahu-OptiPlex-:~/myfile/ENV$ virtualenv --version
15.1.

激活virtualenv

dahu@dahu-OptiPlex-:~/myfile/ENV$ source bin/activate
(ENV) dahu@dahu-OptiPlex-:~/myfile/ENV$

终端发生了变化,查看当前库,只有三个

(ENV) dahu@dahu-OptiPlex-:~/myfile/ENV$ pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
pip (9.0.)
setuptools (36.4.)
wheel (0.30.)
pip freeze  #显示所有依赖
pip freeze > requirement.txt #生成requirement.txt文件
pip install -r requirement.txt #根据requirement.txt生成相同的环境

关闭virtualenv

使用下面命令

$ deactivate

指定python版本

可以使用-p PYTHON_EXE选项在创建虚拟环境的时候指定python版本

#创建python2.7虚拟环境
➜ Test git:(master) ✗ virtualenv -p /usr/bin/python2. ENV2.
Running virtualenv with interpreter /usr/bin/python2.
New python executable in ENV2./bin/python
Installing setuptools, pip...done.
#创建python3.4虚拟环境
➜ Test git:(master) ✗ virtualenv -p /usr/local/bin/python3. ENV3.
Running virtualenv with interpreter /usr/local/bin/python3.
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.4'
New python executable in ENV3./bin/python3.
Also creating executable in ENV3./bin/python
Installing setuptools, pip...done.

基本解决python版本冲突问题和python库不同版本的问题

第二部分

virtualenv 也可以用在pycharm中

项目打开好了之后,设置里面: 1.找到项目解释器 2,创建虚拟环境,3.选择好虚拟的环境。

接下来,这个项目就已经用了虚拟环境了。

virtualenv python的虚拟环境的更多相关文章

  1. Python的虚拟环境virtualenv

    原文地址:blog.sina.com.cn/s/blog_4ddef8f80101eu0w.html Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpre ...

  2. 使用python的虚拟环境virtualenv

    技术背景 在前面几篇博客中我们介绍了容器的使用(博客1.博客2.博客3.博客4.博客5),容器是一种系统级的隔离方案,更多的强调资源上的隔离.而这里我们要介绍的python的虚拟环境,更加强调的是依赖 ...

  3. ubuntu下创建python的虚拟环境

    当我们在同一个机器上进行开发多个项目,每个项目于用到包的不同版本的时候,就很尴尬. 安装python包的命令是: sudo pip install 包名 这样的话,会将包安装到/usr/local/l ...

  4. python设置虚拟环境

    一.介绍 虚拟环境-virtualenv是一个用于隔绝的python环境的工具,虚拟环境与本地环境互相隔离,互不影响,例如我们要安装django2.0的版本但是本地已经安装了1.1的,这时只需要在本地 ...

  5. Python开发虚拟环境使用virtualenvwrapper的搭建及pycharm链接步骤

    virtualenv 是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包.创建的环境是独立的,互不干扰,无需sudo ...

  6. Python的虚拟环境

    Python自带env # 新建虚拟环境 python -m venv env_name # 激活虚拟环境 cd env_name cd Scripts activate # 退出虚拟环境 # 到达虚 ...

  7. centos 下Python独立虚拟环境创建

    virtualenv Python有着庞大的开源社区的支持,很自然就产生这么一个问题:第三方包参差不齐,如果我们想在服务器测试,或者升级某个包,就会导致生产环境产生杂乱,多余的第三方依赖包. virt ...

  8. 搭建python的虚拟环境

    文章连接:https://www.cnblogs.com/zlsgh/p/8485848.html ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时 ...

  9. python进阶-虚拟环境

    virtualenv # 安装 pip install virtualenv # 查看版本,确认安装完成 virtualenv --version # 创建虚拟环境 virtualenv my_env ...

随机推荐

  1. lightoj 1148 Mad Counting(数学水题)

    lightoj 1148 Mad Counting 链接:http://lightoj.com/volume_showproblem.php?problem=1148 题意:民意调查,每一名公民都有盟 ...

  2. 出现错误日志:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

      tomcat6出现错误日志: 信息: The APR based Apache Tomcat Native library which allows optimal performance in  ...

  3. Resharper报“Possible multiple enumeration of IEnumerable”

    问题描述:在IEnumerable使用时显示警告 分析:如果对IEnumerable多次读取操作,会有因数据源改变导致前后两次枚举项不固定的风险,最突出例子是读取数据库的时候,第二次foreach时恰 ...

  4. Java设计模式の模版方法模式

    概述 模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的 ...

  5. 深入浅出CSS(一):line-height与vertical-align的性质

    [测试代码] <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  6. Assert 的用法

    Assert Assert是断言的意思,头文件为assert.h, assert是一个宏 功 能: 测试一个条件并可能使程序终止 用 法: void assert(int test); 在单元测试中经 ...

  7. MongoDB - MongoDB CRUD Operations, Insert Documents

    MongoDB provides the following methods for inserting documents into a collection: db.collection.inse ...

  8. 10个基于 JavaScript 的 WYSIWYG 编辑器

    COMSHARP CMS 写道:在线编辑内容的时候,那些基于 JavaScript 的编辑器帮了我们大忙,这些所见即所得(WYSIWYG)编辑器,给我们提供了类似 Office 的操作体验.如今,任何 ...

  9. 【Foreign】减法 [二分][贪心]

    减法 Time Limit: 10 Sec  Memory Limit: 256 MB Description 给你一个n个数的序列A,并且给出m次操作B. 操作的含义是:每次从A中选出不同的B_i个 ...

  10. 【洛谷 P2553】 [AHOI2001]多项式乘法(FFT)

    题目链接 简单处理一下输入,\(fft\)模板题. #include <cstdio> #include <cmath> #include <algorithm> ...