Python 三大神器!你会几个?我三个都会!

Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric

1. pip 用来包管理

文档:https://pip.pypa.io/en/latest/installing.html

# 安装,可指定版本号

(sudo) pip install Django==1.6.8

# 升级

(sudo) pip install bpython --upgrade

# 一次安装多个

(sudo) pip install BeautifulSoup4 fabric virtualenv

# 从文本中安装,文本中为包名,一行一个,可以指定版本号

(sudo) pip install –r requirements.txt

扫描二维码关注公众号,回复: 3973345 查看本文章

# 删除

(sudo) pip uninstall xlrd

# 导出当前已经安装包

pip freeze > requirements.txt

2. virtualenv 独立Python环境管理

动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于Python2的环境中运行,而项目B可以在基于Python3的环境中运行。Python通virtualenv工具管理虚拟环境。

安装 virtualenv

$ pip install virtualenv

使用方法

$ cd my_project_folder
$ virtualenv venv

执行完命令后它会在当前目录下创建文件夹,这个文件夹包含一些Python执行文件,以及pip副本,用于安装其他的packges。

.
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── activate_this.py
│   ├── easy_install
│   ├── easy_install-3.5
│   ├── pip
│   ├── pip3
│   ├── pip3.5
│   ├── python -> python3
│   ├── python3
│   ├── python3.5 -> python3
│   └── wheel
├── include
│   └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m
└── lib
    └── python3.5

此外在创建env的时候可以选择指定的Python解释器,例如下面是基于Python3创建的虚拟环境

$ virtualenv -p /usr/local/bin/python3 venv

默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境

virtualenv --no-site-packages [虚拟环境名称]

激活虚拟环境

cd env
source ./bin/activate

激活成功后,在命令行会显示虚拟环境的名称,类似((env)Your-Computer:your_project UserName$)

退出虚拟环境

$ deactivate

如果想删除虚拟环境,那么直接运行rm -rf venv/命令即可。

在虚拟环境安装Python packages

Virtualenv 附带有pip安装工具,因此需要安装的packages可以直接运行:

pip install [套件名称]

如果没有启动虚拟环境,系统环境也安装了pip工具,那么packages将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

如果在没开启虚拟环境时运行pip,就会提示错误:

Could not find an activated virtualenv (required).

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:
1. 将所有虚拟环境整合在一个目录下
2. 管理(新增,删除,复制)虚拟环境
3. 切换虚拟环境
4. ...

安装Virtualenvwrapper

安装Virtualenvwrapper前需要virtualenv已近安装

$ pip install virtualenvwrapper

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。

  1. 创建目录用来存放虚拟环境
    mkdir $HOME/Envs
    
    1. 编辑~/.zshrc或~/.bashrc(根据你使用shell类型决定)

      export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 运行:

      $ source ~/.zshrc

此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:

  1. 列出虚拟环境列表

    workon 或者 lsvirtualenv
    
    1. 新建虚拟环境

      mkvirtualenv [虚拟环境名称]

  2. 启动/切换虚拟环境

    workon [虚拟环境名称]
    
  3. 删除虚拟环境

    rmvirtualenv [虚拟环境名称]
    
  4. 离开虚拟环境,和virutalenv一样的命令

    deactivate

Python 三大神器!你会几个?我三个都会!

私信小编01 02 03 04 05 即可获取数十套PDF哦!

virtualenv 是一个创建Python独立环境的包,virtualenvwrapper 使得virtualenv变得更好用

# 安装:

(sudo) pip install virtualenv virtualenvwrapper

# 修改.bash_profile,添加以下语句

export WORKON_HOME=$HOME/.virtualenvs

export PROJECT_HOME=$HOME/YunPan/workspace

source /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 服务器管理和应用发布官网
python编程语言学习QQ群 515267276

fabric: application deployment or systems administration tasks

Python 三大神器!你会几个?我三个都会!

#coding:utf-8

from 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 在终端上进入该文件的目录,执行

fab 函数名

比如:

fab ls_home

更多使用方法请加python编程语言学习QQ群 515267276。

猜你喜欢

转载自blog.csdn.net/cbyacq798/article/details/83472494