Python 三大神器
Python 三大神器
Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric
1. pip 用来包管理
文档:https://pip.pypa.io/en/latest/installing.html
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# 安装,可指定版本号(sudo) pip install Django==1.6.8# 升级(sudo) pip install bpython --upgrade# 一次安装多个(sudo) pip install BeautifulSoup4 fabric virtualenv# 从文本中安装,文本中为包名,一行一个,可以指定版本号(sudo) pip install –r requirements.txt# 删除(sudo) pip uninstall xlrd# 导出当前已经安装包pip freeze > requirements.txt |
2. virtualenv 独立Python环境管理
文档: http://virtualenvwrapper.readthedocs.org/en/latest/
virtualenv 是一个创建Python独立环境的包,virtualenvwrapper 使得virtualenv变得更好用
|
1
2
3
4
5
6
7
|
# 安装:(sudo) pip install virtualenv virtualenvwrapper# 修改.bash_profile 或 .zshrc(如果你用 zsh 的话),添加以下语句export WORKON_HOME=$HOME/.virtualenvsexport PROJECT_HOME=$HOME/workspacesource /usr/local/bin/virtualenvwrapper.sh |
mkvirtualenv ENV:创建运行环境ENV
rmvirtualenv ENV:删除运行环境ENV
mkproject mic:创建mic项目和运行环境mic
mktmpenv:创建临时运行环境
workon bsp: 工作在bsp运行环境
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包
创建的环境是独立的,互不干扰,无需sudo权限即可使用 pip 来进行包的管理。
下面是使用演示图:

3. fabric 服务器管理和应用发布
fabric: application deployment or systems administration tasks
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#coding:utf-8from fabric.api import *# 服务器列表env.hosts = ['user@server1','user2@server2']def ls_home(): with cd('/home/bae/'): run('ls')'''常用命令lcd(dir): 进入本机某目录local(cmd): 本机上执行命令cd(dir): 进入服务器某目录run(cmd):服务器上执行命令''' |
把上面的文件保存成 fabfile.py 在终端上进入该文件的目录,执行
|
1
2
3
|
fab 函数名比如:fab ls_home |
Python 三大神器的更多相关文章
- python三大神器===》装饰器
1.认识装饰器 如果你经常看我的博客,你已经学会了python的前两大‘神器’(迭代器,生成器),那么什么是装饰器呢?就如字面意义装饰器是对某个事物(通常指函数)进行装饰,让其在不修改任何内部代码的情 ...
- python三大神器之一fabric使用
fabric 是一个python包 是一个基于ssh的部署工具包 通常用来对网站 微服务等等的批量部署 例如 我有5台线上服务器 可以通过一台对着5台分发,实现自动部署的目的. 简单介绍下 fabri ...
- python三大神器
Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/latest/instal ...
- python三大神器之装饰器
装饰器的形成过程 假如你要写一个计算函数执行时间的函数,代码如下: import time def func1(): print('in func1') def timer(func): def in ...
- python三大神器之生成器
生成器Generator: 本质:迭代器(所以自带了__iter__方法和__next__方法,不需要我们去实现) 特点:惰性运算,开发者自定义 在python中有三种方法来获取生成器: 1.通过生成 ...
- python三大神器之迭代器
可迭代协议: 内部含有__iter__方法的值/变量都是可迭代的.可迭代类型和python语言之间的协议. 可迭代对象: iterable,内部包含__iter__()函数. 迭代器: iterato ...
- python三大神器===》迭代器
迭代器: 1.认识迭代器 迭代器是访问集合元素的一种方式.迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 我们怎样才能 ...
- Python三大神器:装饰器,迭代器,生成器
一.装饰器 由于一个函数能实现一种功能,现在想要在不改变其代码的情况下,让这个函数进化一下,即能保持原来的功能,还能有新的"技能",怎么办? 现已经存在一个自定义的函数func1, ...
- python三大神器===》生成器
1. 认识生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成.但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一 ...
随机推荐
- 从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写字母。
#include<iostream> #include<vector> #include<string> using namespace std; int main ...
- printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数
参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include <stdio.h> int p ...
- ckfinder动态指定上传路径
默认情况下无法用代码修改config.ascx中的BaseUrl设置,因为其后端代码ConfigFile中并没有提供修改BaseUrl的方法,这里我借用了fckeditor以前的用法:利用sessio ...
- 用联想wndows8系统做android调试开发,adb server无法启动的原因
今天换了台笔记本,联想V480的,装好开发软件,配置好一环境,于是打算先试一下能不能用,结果在eclipse devices中死活看不到设备,于是开如找各种问题,最后在度娘的帮助下终于找到了答案,我的 ...
- 小白日记14:kali渗透测试--NMAP
NAMP 被认为是最强大的扫描器 所有参数 root@kali:~# nmap Nmap 7.01 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [O ...
- Javascript 数组与字典
Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. var a = new Array(); a[0] = "Acer&qu ...
- STL之heap
STL的堆操作 STL里面的堆操作一般用到的只有4个:make_heap();.pop_heap();.push_heap();.sort_heap(); 他们的头文件函数是#include < ...
- cocos2d-x中使用sqlite
在单机游戏中有几十个场景道具,每一个都有各自的状态(获得.未获得.获得个数)等等,如果在游戏中平凡涉及到这些道具的实时存储,那么使用文本就会稍慢.可以使用sqlite数据库来完成. 下载地址:http ...
- javascript 编写的贪吃蛇
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 手把手教你使用Size Class
在 iOS8 中,我们不用再像以前那样,一个页面新建多个 xib 文件来适配不同类型的屏幕,现在我们可以把各种尺寸屏幕的适配工作放在一个文件中完成,然后可以通过不同类别的 Size 来定制各种尺寸的界 ...