Hatena::Grouppython

nelnal@python

2010-10-29

[] Google App Engineチュートリアルでどはまり 22:45  Google App Engine のチュートリアルでどはまり - nelnal@python を含むブックマーク はてなブックマーク -  Google App Engine のチュートリアルでどはまり - nelnal@python

今度はGAEチュートリアルではまりました。

ちなみに前回に引き続き Ubuntu Linux 10.4 LTS & python2.5.5 です。

$ google_appengine/dev_appserver.py helloworld/

Traceback (most recent call last):

File "google_appengine/dev_appserver.py", line 69, in <module>

run_file(__file__, globals())

File "google_appengine/dev_appserver.py", line 65, in run_file

execfile(script_path, globals_)

File "/home/nelnal/workspace/gae_test/google_appengine/google/appengine/tools/dev_appserver_main.py", line 90, in <module>

from google.appengine.tools import appcfg

File "/home/nelnal/workspace/gae_test/google_appengine/google/appengine/tools/appcfg.py", line 63, in <module>

from google.appengine.tools import appengine_rpc

File "/home/nelnal/workspace/gae_test/google_appengine/google/appengine/tools/appengine_rpc.py", line 24, in <module>

import fancy_urllib

File "/home/nelnal/workspace/gae_test/google_appengine/lib/fancy_urllib/fancy_urllib/__init__.py", line 333, in <module>

class FancyHTTPSHandler(urllib2.HTTPSHandler):

AttributeError: 'module' object has no attribute 'HTTPSHandler'

$

色々調べてみるとSSLが含まれた python でないと urllib2 に HTTPSHandler が含まれない模様。

apt で libssl-dev をインストールし、再度コンパイルを実行しました。

$ cd Python-2.5.5

$ ./configure --prefix=$HOME

$ vi Module/Setup

sslで検索すると以下の4行が出てくるのでコメントアウトする。

#SSL=/usr/local/ssl

#_ssl _ssl.c \

# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

# -L$(SSL)/lib -lssl -lcrypto

あとはインストールの実行

$ make -i altinstall

$ make altinstall


pyOpenSSL 導入手順 10:44 pyOpenSSL 導入手順 - nelnal@python を含むブックマーク はてなブックマーク - pyOpenSSL 導入手順 - nelnal@python

ついでに勘違いで pyOpenSSL の導入手順を覚えたのでメモ。

$ pip install pyOpenSSL

Downloading/unpacking pyOpenSSL

Running setup.py egg_info for package pyOpenSSL

warning: no previously-included files matching '*.pyc' found anywhere in distribution

Installing collected packages: pyOpenSSL

Running setup.py install for pyOpenSSL

building 'OpenSSL.crypto' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/nelnal/include/python2.5 -c src/crypto/crypto.c -o build/temp.linux-x86_64-2.5/src/crypto/crypto.o

In file included from src/crypto/crypto.h:17,

from src/crypto/crypto.c:14:

src/crypto/x509.h:17:25: error: openssl/ssl.h: No such file or directory

(中略)

error: command 'gcc' failed with exit status 1

----------------------------------------

Command /home/nelnal/bin/python2.5 -c "import setuptools;__file__='/home/nelnal/build/pyOpenSSL/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-0jk8SG-record/install-record.txt failed with error code 1

Storing complete log in /home/nelnal/.pip/pip.log

$

といった感じでそのままインストールを行ってもエラーに・・・。

どうやら openssl/ssl.h が無いことが原因の様です。

aptitude search ssl から dev を含むパッケージを探してみると、libssl-dev がそれっぽいので、これをインストールして再度実行してみる

$ sudo apititude install libssl-dev

(略)

$ pip install pyOpenSSL

(略)

Successfully installed pyOpenSSL

Cleaning up...

OK!

一応、動作確認

$ python2.5

Python 2.5.5 (r255:77872, Oct 26 2010, 00:56:55)

[GCC 4.4.3] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import OpenSSL

>>>

OK!!!

トラックバック - http://python.g.hatena.ne.jp/nelnal_programing/20101029