Windows版のPILをビルドするには、いくつかの外部ライブラリを用意する必要が有りますが、各外部ライブラリのWindows向け静的リンク版は提供されていないことが多いので、これらも自分でビルドします。また、PILは最終的にPythonからロードされるため、コンパイラは利用するPythonをビルドしたものと同じにしておく必要があります。
今回コンパイルの対象としたPILは以下のバージョンです。
# -*- coding: utf-8 -*- | |
from datetime import date, timedelta | |
from calendar import monthrange | |
__all__ = ['DateEx',] | |
class DateEx(date): | |
""" | |
>>> d = DateEx(2012, 1, 31) | |
>>> d |
$ python | |
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) | |
[GCC 4.5.2] on linux2 | |
Type "help", "copyright", "credits" or "license" for more information. | |
>>> class Foo(object): | |
... def __init__(self, name): | |
... self.name = name | |
... | |
... | |
... |
javascript:var s=document.createElement('script');s.setAttribute('src','http://jquery.com/src/jquery-latest.js');document.getElementsByTagName('body')[0].appendChild(s);void(s);setTimeout(function(){$('#content').append($('<div id="bpbook">').append($('<h1>').text('Pythonプロフェッショナルプログラミング')).append($('<h2>').text('ビープラウド著')).append($('<img src="http://ecx.images-amazon.com/images/I/41S7NMaxeIL._SL210_.jpg" />').css('float','left').css('margin','0.5em')).append($('<p>').append($('<img src="http://www.beproud.jp/tw/haru860">').css('float','left').css('margin','2px')).append($('<span>').text('本書は、プロフェッショナル集団であるビープラウドの活動から生まれました。ここには、日々の楽しい仕事を通じて蓄積された、貴重なノウハウがあります。 ――株式会社ビープラウド代表取締役社長・佐藤治夫')).append($('<br>')).append($('<br>'))).append($('<p>').text('Pythonを使ったアプリケーション開発のリアルな手法を学ぶプログラミングガイドブックです。個人の開発環境を改善したい人、チームの開発を改善したい人、仕事でつかえるPython環境系のためにノウハウを学びたい人を対象に、Pythonの共有環境の構築と管理、チケット駆動開発、ソースコード管理(Mercurial)、PyPlパッケージング、Jenkinsで継続的インテグレーション、パフォーマンス向上(nginxとgunicorn)、GAE開発、Djangoフレームワークなど実践的なノウハウを解説。')).append($('<div> |
# Makefile for Sphinx documentation | |
# | |
# You can set these variables from the command line. | |
PYTHON = python | |
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest | |
help: | |
$(PYTHON) make.py help |
$ python -c "print __import__('docutils.writers').writers.get_writer_class('pseudoxml')().write(__import__('pickle').load(open(__import__('sys').argv[1],'rb')), __import__('docutils.io').io.StringOutput(encoding='utf-8'))" index.doctree |
from sphinx.builders import Builder | |
class NullBuilder(Builder): | |
name = 'null' | |
def get_target_uri(self, docname, typ=None): | |
return '' | |
def get_outdated_docs(self): | |
"""毎回全てのrstを処理対象にしたい場合は、以下を参考にこのメソッドを実装。 |
def foo(name, age=10): | |
print "{0} is {1} years old.".format(name, age) | |
import clime.now # this NEED to place here |
>>> import json | |
>>> import urllib | |
>>> import random | |
>>> def meigen(name): | |
... url = urllib.urlopen('http://twitter.com/statuses/user_timeline/%s.json' % name) | |
... return random.choice(json.loads(url.read()))['text'] | |
... | |
>>> print meigen('atsuoishimoto') | |
「妻に支えられてるふりをする技術」 |
まず鍵を置くディレクトリを作成 | |
porsche# cd /usr/local/etc/apache2 | |
porsche# mkdir ssl.key ssl.crt | |
porsche# chmod 700 ssl.key ssl.crt | |
鍵の作成 | |
porsche# openssl genrsa -out ssl.key/server.key 1024 | |
Generating RSA private key, 1024 bit long modulus |