需求

我们用Anisible 来管理Openstack 此时需要安装shade模块当有互联网时我们可以用以下方式安装shade模块yum install python-pip

pip install shade

可是目前公司没有互联网环境并且得用到shade这个模块,当时心想执行pip  install shade 看下装了哪些包然后做成一个独立的源,不过无果。后来又想到 pip download shade然后离线安装shade。可是好麻烦最后找到了 virtualenv。

关于pip指定自己的源[root@node-2 ~]# cat /root/.pip/pip.conf 此文件默认不存在,需要自己手动创建

[global]

extra-index-url =    ---指定自己搭建源的路径

[root@node-2 ~]#

或者可以临时指定源 pip instal xxxx -i

推荐几个源地址

首先谈谈virtualenv是个什么东东

virtualenv故名思意为 虚拟的环境为python提供一个“隔离式”的环境比如操作系统层面需要使用python2和python3 此时若在系统里面设置环境变量会很不方便可能影响系统python环境的独立性。 当然python天然的支持若干个模块我们可以在系统层面去安装这些模块可是若换了一个开发环境我们还需要把这些模块重新安装。 若我们使用virtualenv并且在virtualenv 环境里装这些包安装完毕后我们可以把这个目录直接打包走就可以直接使用了。我们看下virtualenv 的使用方法。

1、安装pip和virtualenv[root@bogon ~]# yum install python-virtualenv python-pip

2、创建一个 自己的project[root@bogon Erick]# virtualenv -p /usr/bin/python2 venv

Already using interpreter /usr/bin/python2

New python executable in /root/Erick/venv/bin/python2

Also creating executable in /root/Erick/venv/bin/python

Installing setuptools, pip, wheel...done.

3、进入当前环境【执行完之后可以看到前面多一个(venv)】[root@bogon Erick]# source venv/bin/activate

(venv) [root@bogon Erick]#

4、好了此时可以在我们自己的项目中安装自己所需要的模块了比我要安装我需要的shade模块。

注: 在openstack环境中,openstack中内置了自己的模块,若此时直接 在系统上按照shade 模块,很有可能会影响 openstack系统的运行! 这是血的教训!!!(venv) [root@bogon Erick]# pip install shade

。。。省略

Collecting pyperclip (from cmd2>=0.6.7->cliff>=2.6.0->osc-lib>=1.5.1->python-ironicclient>=1.11.0->shade)

Installing collected packages: six, munch, netifaces, funcsigs, pytz, Babel, pbr, oslo.i18n, monotonic, netaddr, pyparsing, wrapt, debtcollector, iso8601, oslo.utils, PyYAML, rfc3986, stevedore, oslo.config, chardet, certifi, idna, urllib3, requests, positional, keystoneauth1, msgpack-python, oslo.serialization, python-keystoneclient, dogpile.cache, jsonpointer, jsonpatch, requestsexceptions, decorator, appdirs, os-client-config, jmespath, futures, functools32, jsonschema, unicodecsv, PrettyTable, pyperclip, cmd2, cliff, simplejson, osc-lib, deprecation, openstacksdk, python-novaclient, warlock, python-glanceclient, python-cinderclient, python-openstackclient, python-ironicclient, ipaddress, shade

Successfully installed Babel-2.3.4 PrettyTable-0.7.2 PyYAML-3.12 appdirs-1.4.3 certifi-2017.4.17 chardet-3.0.4 cliff-2.8.0 cmd2-0.7.5 debtcollector-1.16.0 decorator-4.1.1 deprecation-1.0.1 dogpile.cache-0.6.4 funcsigs-1.0.2 functools32-3.2.3-2 futures-3.1.1 idna-2.5 ipaddress-1.0.18 iso8601-0.1.11 jmespath-0.9.3 jsonpatch-1.16 jsonpointer-1.10 jsonschema-2.6.0 keystoneauth1-2.21.0 monotonic-1.3 msgpack-python-0.4.8 munch-2.1.1 netaddr-0.7.19 netifaces-0.10.6 openstacksdk-0.9.17 os-client-config-1.28.0 osc-lib-1.7.0 oslo.config-4.8.0 oslo.i18n-3.16.0 oslo.serialization-2.19.1 oslo.utils-3.27.0 pbr-3.1.1 positional-1.1.1 pyparsing-2.2.0 pyperclip-1.5.27 python-cinderclient-2.2.0 python-glanceclient-2.7.0 python-ironicclient-1.14.0 python-keystoneclient-3.12.0 python-novaclient-9.0.1 python-openstackclient-3.11.0 pytz-2017.2 requests-2.18.1 requestsexceptions-1.3.0 rfc3986-1.0.0 shade-1.22.2 simplejson-3.11.1 six-1.10.0 stevedore-1.24.0 unicodecsv-0.14.1 urllib3-1.21.1 warlock-1.2.0 wrapt-1.10.10

(venv) [root@bogon Erick]#

若再次失败请升级  pip install --upgrade  setuptools

5、若让Ansible 使用我们刚刚做好的项目在你的资产列表中添加ansible_python_interpreter="your dir" 例如[controller]

192.168.1.100   ansible_python_interpreter="/root/Erick/venv/bin/python"

至此完成可以打包带走了

我们在来安装一个tornado模块(venv) [root@bogon Erick]# pip install tornado

Collecting tornado

Downloading tornado-4.5.1.tar.gz (483kB)

100% |████████████████████████████████| 491kB 28kB/s

Collecting backports.ssl_match_hostname (from tornado)

Downloading backports.ssl_match_hostname-3.5.0.1.tar.gz

Collecting singledispatch (from tornado)

Downloading singledispatch-3.4.0.3-py2.py3-none-any.whl

Requirement already satisfied: certifi in ./venv/lib/python2.7/site-packages (from tornado)

Collecting backports_abc>=0.4 (from tornado)

Downloading backports_abc-0.5-py2.py3-none-any.whl

Requirement already satisfied: six in ./venv/lib/python2.7/site-packages (from singledispatch->tornado)

Building wheels for collected packages: tornado, backports.ssl-match-hostname

Running setup.py bdist_wheel for tornado ... done

Stored in directory: /root/.cache/pip/wheels/84/83/cd/6a04602633457269d161344755e6766d24307189b7a67ff4b7

Running setup.py bdist_wheel for backports.ssl-match-hostname ... done

Stored in directory: /root/.cache/pip/wheels/5d/72/36/b2a31507b613967b728edc33378a5ff2ada0f62855b93c5ae1

Successfully built tornado backports.ssl-match-hostname

Installing collected packages: backports.ssl-match-hostname, singledispatch, backports-abc, tornado

Successfully installed backports-abc-0.5 backports.ssl-match-hostname-3.5.0.1 singledispatch-3.4.0.3 tornado-4.5.1

(venv) [root@bogon Erick]#

最后看下我们装的模块在哪里(venv) [root@bogon site-packages]# pwd

/root/Erick/venv/lib/python2.7/site-packages

(venv) [root@bogon site-packages]# ls -d shade tornado

shade  tornado

退出 venv模式

deactivate

总之需要什么装什么即可最后可以一并打包带走。和去饭店吃饭是一样一样的

参考链接

Openstack 技术交流群:580078423

欢迎大家入群多多交流

python如何进入venv环境_python 环境之 venv相关推荐

  1. python安装环境傻瓜式安装_Python环境安装(两种方式)

    Python环境安装 前言 安装Python环境我个人知道的有两种方式: 1.直接安装Python 2.使用Anaconda进行环境的配置 个人还是比较喜欢第二种方式,毕竟在Anaconda可以创建不 ...

  2. python导入模块的变量_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...

  3. python环境_python环境搭建教程

    Python安装配置 首先我们来安装python (注意:做测试建议安装32位的python3) 1.首先进入网盘下载python-3.6.5.exe,下载完后是这样的 2.双击exe文件进行安装,如 ...

  4. python pillow环境_Python环境Pillow( PIL )图像处理工具使用解析

    前言 由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python ...

  5. 怎么打包python环境_python环境搭建和打包

    安装: python是有两个版本的一个是2.x,一个是3.x,这两个版本是不兼容的所有请使用前看准版本.下面我们主要说3.5版本. Windows: 你可以根据你的电脑版本选择64位还是32位64位安 ...

  6. python和编辑器一块安装_python环境搭建与编辑器安装

    #  python环境搭建与编辑器安装 学习一种语言的开始,一定是搭建编译环境以及拥有一个编辑器,作为公众号的第一篇文章,也是python教程的开始,本文主要介绍python编译环境的搭建与编辑软件的 ...

  7. python脚本文件变量设置_Python环境变量设置方法

    Alias Maya中的脚本语言是Mel 和 Python,据说Houdini未来也会把Python作为主要的脚本语言,作为影视特效师,掌握Python语言是必备技能:虽然Maya内置了Python运 ...

  8. python中文开发环境_Python开发环境配置

    对于刚入门的新手, Python 的环境配置可能是个障碍, 对于刚进阶的学习者则可能在环境管理, 依赖管理上遇到问题, 或者陷入纠结(比如我) 在这推荐我目前的解决方案: Python+MiniCon ...

  9. python环境复制_python 环境

    Python环境在线安装 源: 阿里云:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.douban.com/simple/ 清华大学:ht ...

最新文章

  1. 重庆理工大学c语言程序实验报告,重庆理工大学-C语言程序实验报告.doc
  2. python可以做什么项目-python都能做什么
  3. 【转载】Apache Spark Jobs 性能调优(二)
  4. php使用strstr函数 ,判断字符串A中是否含有字符串B
  5. yum chrome
  6. HDU 2859 Phalanx
  7. java 编译引入库_eclipse编译cpp文件,并且引用其他预编译的库
  8. noj Nightmare
  9. 并查集的相关知识详解 Come baby!!!
  10. 什么网了解c语言,什么是c语言?
  11. 支付宝集五福下周一开始;iPhone 面世 13 周年;Laravel 6.10.0 发布 | 极客头条
  12. oracle select输出dbms,PLSQL 中如何使用 dbms_output 输出结果
  13. SSM框架中的Mapper.xml文件中的增、删、改、查等操作
  14. h计算机二级基础知识题库,2020计算机二级Office考试题库真题
  15. java 导出word 带图片
  16. matlab自带的VAD检测程序
  17. Java程序员转行可以做什么?程序员
  18. 国内的虚拟服务器推荐,虚拟空间哪个好(国内比较的几款虚拟主机推荐)
  19. win10升级后删除自带的微软输入法
  20. 爬虫练习--豆瓣英美剧爬虫

热门文章

  1. leetcode每日一题——T70. 爬楼梯(易):斐波那契公式
  2. 中小公司的Java工程师怎么进BAT?
  3. flask-sqlalchemy + flask-migrate orm迁移数据库
  4. [Python]二叉树中序遍历代码以及思路
  5. 用 python 分析了微信上所有的微信好友,发现了一个秘密...
  6. 苹果6s解除耳机模式_【玩码】没想到,iPhone 也有取消耳机的这一天
  7. Exadata X2-2 更换 存储节点Flash卡电池(ESM)
  8. mybatis 分页
  9. iOS 把数据库文件打包到mainbundle中,查找不到路径的解决办法;以及在删除bundle中文件的可行性
  10. 篮茑中文编程开发的APP与VFP混搭,一个字“稳”