安装
sudo pip3 install nuitka
编译成可执行程序
python3 -m nuitka --standalone --follow-imports ./test.py
会生成一个test.dist的目录,把整个目录拷贝上去,就可以执行了。
需要说明的是,现在nuitka不支持静态链接,所以如果glibc相关库对不上的话,也是没法执行的,建议安装个同版本的系统(docker即可),去编译下就好。[......]
安装
sudo pip3 install nuitka
编译成可执行程序
python3 -m nuitka --standalone --follow-imports ./test.py
会生成一个test.dist的目录,把整个目录拷贝上去,就可以执行了。
需要说明的是,现在nuitka不支持静态链接,所以如果glibc相关库对不上的话,也是没法执行的,建议安装个同版本的系统(docker即可),去编译下就好。[......]
标题虽然说是线程,其实gevent用的是“greenlet”,可能翻译成"微线程"更合适一些。
1、线程池
import time
import gevent
from gevent.threadpool import ThreadPool
def my_func(text, num):
print text, num
pool = ThreadPool(100)
start = time.time()
for i in xrange(100000):[......]
在Python中,是支持可变长参数,甚至词典参数的,具体见 《Python中函数的参数传递与可变长参数》
而使用词典参数的方式,可以让我们节省很多不必要的初始化工作。
以初始化MySQL的conn为例:
Before:
# App Config
DB_HOST = "localhost"
DB_PORT = 3306
DB_NAME = "db"
DB_USER = "coder4"
DB_PASS = "password"
# Init conn
sel[......]
selenium是一套用于测试WebUI的自动化测试框架,它通过调用Chrome、Firefox来完成动态页面(含Javascript)的加载,因此也可以用来完成动态网页抓取。
1、下载selenium
wget http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar
2、启动selenium-standalone
java -jar ./selenium-se[......]
Scrapy是一个非常好的抓取框架,它不仅提供了一些开箱可用的基础组建,还能够根据自己的需求,进行强大的自定义。本文对基本用法和常见问题做一个记录。
1、安装
Scrapy虽然是python的模块,但是依赖包比较多,所以我推荐使用apt安装:
sudo apt-get install python-scrapy
编译狂人 或者 处女座 可以从Pypi上下载自行编译安装。友情提示下:pip或者ezsetup上的自动依赖是不全的,需要自己再补其他包。
本文所用的版本是当前最新版[......]