pip可以很方便的安装、卸载和管理Python的包。
virtualenv则可以建立多个独立的虚拟环境,各个环境中拥有自己的python解释器和各自的package包,互不影响。
pip和virtualenv可以很好的协同工作,同时使用这两个工具非常方便。

一般先安装pip,安装好后,pip install virtualenv就可以自动从网上下载并安装virtualenv了。然后virtualenv env1就可以创建一个名为env1的虚拟环境了,进入这个虚拟环境后,再使用pip install安装其它的package就只会安装到这个虚拟环境里,不会影响其它虚拟环境或系统环境。

当需要将虚拟环境env1迁移或复制到另一个虚拟环境(可能不在同一台机器上)env2时,首先仍然需要在目的机器上安装pip和virtualenv,然后采用以下方法之一安装其他的package:

  • 1.直接将env1里的文件全部复制到env2里,然后修改涉及路径的文件。此种方法可能正常使用,但显然不是好办法。
  • 2.进入原虚拟环境env1,然后执行pip freeze > requirements.txt将包依赖信息保存在requirements.txt文件中。然后进入目的虚拟环境env2,执行pip install -r requirements.txt,pip就会自动从网上下载并安装所有包。
  • 3.pip默认会从pypi服务器(http://pypi.python.org/simple)下载包的安装文件,如果目的机器无法连外网,则可以采用以下办法:
    • 3.1搭建自己的pypi服务器。专业的,可以使用第三方的软件包来搭建一个完整的pypi镜像服务器,参考http://www.worldhello.net/2011/03/14/2357.html。更快速的方法只需要一条命令python -m SimpleHTTPServer即可完成搭建服务器,具体的目录结构可参考原pypi服务器,简而言之,就是把安装文件打包放入目录即可。搭建好服务器之后,在目的虚拟环境中,就可以使用pip来安装了,命令如:pip install -i http://127.0.0.1:8000/ -r requirements.txt
    • 3.2如果你实在不想搭建pypi服务器,也有办法。首先将所有包的安装文件下载下来,可以手动下载,也可以使用pip,如pip install -d /path/to/save/ -r requirements.txt,然后自己修改requirements.txt文件,将每一行改成对应的包的安装文件的路径。最后在目的虚拟环境中使用pip安装,如pip install -r requirements.txt即可。
    • 3.3还有一种途径,就是pip提供的bundle选项。首先执行pip bundle MyEnv.pybundle -r requirements.txt,将生成一个MyEnv.pybundle文件,该文件夹包含所有包的安装文件(注意必须后缀名必须是.pybundle),默认是重新从pypi服务器下载安装文件的,如果愿意,也可以利用3.1中的方法,指定本地的pypi服务器。然后在目的虚拟环境中执行pip install MyEnv.pybundle即可。
  • 4.pip install还有许多有用的选项,如--download-cache=DIR可以指定下载安装文件时缓存至DIR路径,下次需要时则直接读取缓存文件。具体选项可以执行pip help install得到详细信息。
  • 5.另外,还可以将自己的包上传至pypi服务器,分享给所有人。具体可参考http://guide.python-distribute.org/creation.html和http://matrix.42qu.com/10734668。

转载于:https://www.cnblogs.com/0xcafedaddy/p/8664890.html

pip virtualenv requirements相关推荐

  1. python下使用pip freeze requirements.txt命令迁移模块(详细教程)

    python下使用pip freeze >requirements.txt命令迁移模块 简单来说就是别人设计好的程序,需要安装(import)各种模块,而使用该命令可以直接一次性全部安装. 当我 ...

  2. Python环境安装脚本,拷贝环境脚本,命令迁移模块(pip freeze requirements.txt)

    我先保证我本地环境完全没问题,然后利用pip freeze >requirements.txt将本地环境库到requirements.txt,再用pip install -r requireme ...

  3. yolov5安装pip install requirements.txt,pycocotools安装报错

    项目场景: 系统:ubuntu16.04 安装yolov5,直接pip install requirements.txt,报错 问题描述: 报错信息如下,可见是pycocotools安装错误 Buil ...

  4. python中的 pip 和 requirements.txt 是干什么的

    python中的pip是一个以Python计算机程序语言写成的软件包管理系统,他可以安装和管理软件包. 1.安装第三方库(软件包):pip install 跟上包名,例如:pip install se ...

  5. pip配置requirements.txt时出现“Could not open requirements file: [Errno 2] No such file or directory: ‘”问题

    最近需要github上的一些项目,在本地配置的时候,需要在相应文件夹中用pip配置requirements.txt文件,但是一直提示找不到requirements.txt文件,经过一番查找,发现需要先 ...

  6. pip freeze requirements.txt 分隔 sudo pip install -r requirements.txt

    要在新项目中安装,命令如下: sudo pip install -r requirements.txt 导出安装的组件版本: requirements.txt的内容: adium-theme-ubun ...

  7. pip 按照requirements.txt安装到对应的package名称的文件中

    假设 requirement.txt中的 celery==4.0.2 当我需要离线下载requirements.txt中的内容,并且按照库名创建一个文件,并将这个版本放到这个目录下 #!/bin/ba ...

  8. pipenv使用教程

    pipenv概述 pipenv 是一个强大的虚拟环境管理工具,它可以轻松的帮助我们在项目开发过程中创建和激活虚拟环境,和传统的virtualenv创建虚拟环境相比,pipenv实现了一体化.它的出现解 ...

  9. Flask web开发实战之基础篇 初识Flask

    基础篇 第一章 初识Flask 前言 1. 初识Flask 1.1.搭建开发环境 1.1.1 pipenv工作流 1.1.2 创建虚拟环境 1.1.3 管理环境依赖 1.1.4 安装Flask 1.2 ...

最新文章

  1. 电力系统分析课设短路电流计算simulink仿真
  2. Synchronized 关键字的用法
  3. android studio viewo,Android Studio 之 ViewModel
  4. 通过telnet来实践HTTP协议。
  5. 西瓜书《机器学习》线性模型 对数几率(逻辑)回归公式推导
  6. 如何用轻量协作工具做bug管理
  7. 158.用 Read4 读取 N 个字符read characters from file multiple calls
  8. DXUT框架剖析(3)
  9. 名片识别信息分类python_名片识别API接口_免费数据接口 - 极速数据
  10. matlab课后答案杨德平,MATLAB基础教程习题答案作者杨德平例题源程序课件.pdf
  11. 在linux中加固mysql_linux安全加固十六法则
  12. 新版“北京通”今天上线 一个APP可办650件事儿
  13. 腾达ap设置说明_腾达(Tenda)F9无线路由器AP模式怎么设置[教程]?【图解】
  14. NYOJ-108-士兵杀敌(一)
  15. Base64 编码的特征
  16. IP协议/地址(IPv4IPv6)概要
  17. macOS - afconvert 命令(音频格式转换)
  18. 微信图文排版——删除线下的真心话
  19. Java课程设计-图书借阅管理系统
  20. 实例【GPA计算器】的制作过程之MFC初体验收获

热门文章

  1. ping: sendto: Network is unreachable
  2. WebGIS在行业中应用的演变
  3. Adding a horizontal separator to a Flex PopUpButton control’s pop up menu (redux)
  4. 将现有网站与Community Server2.0整合解决方案(原创)
  5. 中间层体系结构的好处
  6. 互联网高并发架构技术实践
  7. blog搬家通知---------------------------------------
  8. 数据结构例程——线性表顺序存储的应用
  9. 变更AD计算机名称和IP地址
  10. 利用Travis CI 让你的github项目持续构建(Node.js为例)