python如何进入venv环境_python 环境之 venv
需求
我们用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相关推荐
- python安装环境傻瓜式安装_Python环境安装(两种方式)
Python环境安装 前言 安装Python环境我个人知道的有两种方式: 1.直接安装Python 2.使用Anaconda进行环境的配置 个人还是比较喜欢第二种方式,毕竟在Anaconda可以创建不 ...
- python导入模块的变量_python 环境变量和import模块导入方法(详解)
1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...
- python环境_python环境搭建教程
Python安装配置 首先我们来安装python (注意:做测试建议安装32位的python3) 1.首先进入网盘下载python-3.6.5.exe,下载完后是这样的 2.双击exe文件进行安装,如 ...
- python pillow环境_Python环境Pillow( PIL )图像处理工具使用解析
前言 由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python ...
- 怎么打包python环境_python环境搭建和打包
安装: python是有两个版本的一个是2.x,一个是3.x,这两个版本是不兼容的所有请使用前看准版本.下面我们主要说3.5版本. Windows: 你可以根据你的电脑版本选择64位还是32位64位安 ...
- python和编辑器一块安装_python环境搭建与编辑器安装
# python环境搭建与编辑器安装 学习一种语言的开始,一定是搭建编译环境以及拥有一个编辑器,作为公众号的第一篇文章,也是python教程的开始,本文主要介绍python编译环境的搭建与编辑软件的 ...
- python脚本文件变量设置_Python环境变量设置方法
Alias Maya中的脚本语言是Mel 和 Python,据说Houdini未来也会把Python作为主要的脚本语言,作为影视特效师,掌握Python语言是必备技能:虽然Maya内置了Python运 ...
- python中文开发环境_Python开发环境配置
对于刚入门的新手, Python 的环境配置可能是个障碍, 对于刚进阶的学习者则可能在环境管理, 依赖管理上遇到问题, 或者陷入纠结(比如我) 在这推荐我目前的解决方案: Python+MiniCon ...
- python环境复制_python 环境
Python环境在线安装 源: 阿里云:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.douban.com/simple/ 清华大学:ht ...
最新文章
- PLSQL Developer 12 注册码
- pup 流程控制语句(下)
- Nginx+MSM+Tomcat做负载均衡,session共享
- 蒋涛,CSDN创始人,俺村的骄傲
- 5 Git 分支 - 远程分支
- PAT乙类之1011 A+B 和 C
- 大数据环境下的存储系统构建:挑战、方法和趋势
- 谈谈Winform程序的界面设计
- git add remote_git命令
- 在linux桌面上显示图标
- 下载远程url文件(或者文件流)到本地
- Javascript的简单介绍,只作为个人笔记,不作为知识参考,如果想要学习,请找其他文章
- mysql如何只查询表中的前几条数据?多表查询前提了解
- 利用新浪api获取ip归属地
- webQQ协议——获取信息
- ssh实现远程登录服务器
- 计算机视觉-实验四(相机模型与参数标定)
- 南阳OJ题目33---蛇形填数
- uniapp 标签技能多选 最多选三个
- 【二级等保】二级等保安全物理环境要求有哪些?
热门文章
- Gilbreath原理中的数学与魔术(九)——Max Maven作品选
- macos windowserver占用内存_iMac 5K 硬件升级:加内存、外接 SSD
- 患者安全运动基金会支持《患者安全东京宣言》
- oracle rman 00571,oracle 备份失败 RMAN-03002,RMAN-00569,RMAN-00571等处理方法
- 此计算机核心参数,买电脑如何选CPU?这三个参数一定要看!
- windows常见问题汇集
- 如何扫描识别图片中的文字?
- 比較經典有味道的句子
- 小K最近换了辆新能源汽车,但……
- 【计网】(二)MAC地址与IP地址