Python Trick

这里主要记录一些Python使用上的小技巧,以后使用的时候可以方便查阅。不定期更新。

1. 豆瓣源

使用pip为python安装一个第三方库的时候,由于国内可能不方便下载国外的库,这里可以使用豆瓣源来加速。只需要加上参数-i https://pypi.douban.com/simple/即可。比如安装scrapy就可以使用如下的指令:

pip install -i https://pypi.douban.com/simple/ scrapy

2. Python环境管理

很多时候,我们可能需要用到不同版本的 python,比如2.7和3.4两个版本。这时候可以使用virtualenvvirtualenvwrapper 等工具。但实际上 anaconda 本身就已经支持 python 的版本控制了(我一直用的 anaconda)。比如我们要新建一个2.7版本的 python 环境,就只需要输入:

conda create -n py27 python=2.7

这样就创建了一个2.7版本的 python,且这个 python 环境的名字叫做py27。 我们如果需要使用这个环境只需要输入指令:

source activate py27

之后就进入我们的全新的 python 环境了,想退出环境则输入:

source deactivate py27

如果需要给我们新建的环境也安装 anaconda 的全套环境,则需要输入:

conda install -n py27 anaconda

安装过程是很慢的。我们如果需要给这个环境安装第三方库的话,可以激活这个环境然后使用pip安装,或者使用:

conda install -n py27 package_name

来安装,package_name 就是我们要安装的库。 如果我们需要删除现有的环境,使用指令:

conda remove -n py27 --all

如果不使用 --all ,而是指定一个库,则会删除该库,比如:

conda remove -n py27 package_name

就会删除 package_name 对应的库。 最后一个指令是查看现有的 python 环境:

conda info -e

3. 简单HTTP服务

使用 Python 可以通过命令创建HTTP服务器,这在局域网中传输文件,或者测试服务器连通等情况下十分有效。

在Python2中,使用如下命令:

python -m SimpleHTTPServer 8000

这样就可以创建一个监听本地8000端口的HTTP静态资源服务。 在Python3中,命令改成:

python -m http.server 8000

效果同上。

4. 给Python的类或对象动态添加成员函数

https://www.ianlewis.org/en/dynamically-adding-method-classes-or-class-instanc