官网: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. POJ--2752

    原题链接:http://poj.org/problem?id=2752 分析:no! #include<cstdio> #include<cstring> #include&l ...

  2. 03-树3. Tree Traversals Again (25)将先序遍历和中序遍历转为后序遍历

    03-树3. Tree Traversals Again (25) 题目来源:http://www.patest.cn/contests/mooc-ds/03-%E6%A0%913 An inorde ...

  3. ECONNRESET和WSAECONNRESET怎么产生的以及如何避免

    ECONNRESET是linux环境网络编程产生的错误,错误码为104, WSAECONNRESET是windows环境网络编程产生的错误,错误码为10054 两者产生的原因都一样,分以下几种情况: ...

  4. 「Python」7个不一样的代码写法

    打印index 对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法: 更优雅的写法是多用enumerate 两个序列的循环 我们会经常对两个序列进行计算或 ...

  5. ThinkPHP+Memcache的缓存方案总结

    简介: ThinkPHP用S()方法可以缓存数据,这在访问数据库时非常有用,可以在有限时间内当数据库无变化时从缓存取数据,有变化时从数据库取数据. Memcached+Memcache是一个将数据保存 ...

  6. C#实现SQL数据库备份与恢复

    有两种方法,都是保存为.bak文件.一种是直接用Sql语句执行,另一种是通过引用SQL Server的SQLDMO组件来实现:  1.通过执行Sql语句来实现 注意,用Sql语句实现备份与还原操作时, ...

  7. tf.session.run()单函数运行和多函数运行区别

    tf.session.run()单函数运行和多函数运行区别 觉得有用的话,欢迎一起讨论相互学习~Follow Me problem instruction sess.run([a,b]) # (1)同 ...

  8. 单调队列 + 组合数统计 Gym 101102D

    题目链接:http://codeforces.com/gym/101102/problem/D 题目大意:给你一个n*m的矩阵,矩阵里面的数值范围为[1,1e9].这个矩阵有一个值,如果相邻的多个数字 ...

  9. 数组中的each 和 jquery 中的 each

    数组的实例上都有一个叫做 forEach 的方法,这个方法定义在 Array.prototype 上,所以数组的所有实例都可以使用 forEach 这个方法. forEach 方法的语法结构如下: v ...

  10. bzoj 1072 状压DP

    我们用w[i][j]来表示,i是一个二进制表示我们选取了s中的某些位,j表示这些位%d为j,w[i][j]则表示这样情况下的方案数,那么我们可以得到转移.w[i|(1<<k)][(j*10 ...