2011/12/26
今更びっとばけっと(Permission denied)
mercurial, ssh, bitbucket, memo
実はアカウント作っただけでリポジトリ一個も作ってなかったので、ぷらいべーとなリポジトリを作ってみたんだけど、これですよ。
$ hg clone ssh://hg@bitbucket.org/drillbits/(reporepo) 遠隔ホスト: Permission denied (publickey). 中止: 遠隔ホストの応答が不適切!
日本語化してるのはなんでか覚えてないんですけど、とにかくSSH通らない。基本的な手順はこちらの通りなんですが。
で、どこが違うかというと ssh-keygen するときに場所というか名前を指定してた。
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/drillbits/.ssh/id_rsa): /Users/drillbits/.ssh/keys/bb
もしかして id_rsa 以外の名前って clone するときに指定する必要があるのかなー でもどうやって指定するのかなー とか考えてたんだけど、一度 ssh でつないだらいけた…
~/.ssh/config
Host bb
User hg
HostName bitbucket.org
Compression yes
IdentityFile ~/.ssh/keys/bb
これでつなぎにいくと passphrase 聞かれるので、いわれるがまま入れると接続 → 以下のメッセージ → 切断される。
$ ssh bb Identity added: /Users/drillbits/.ssh/keys/bb (/Users/drillbits/.ssh/keys/bb) PTY allocation request failed on channel 0 conq: logged in as drillbits. You can use git or hg to connect to Bitbucket. Shell access is disabled. Connection to bitbucket.org closed.
これ一回やって hg clone したら普通にできた。なぞ。known_hosts とかなんかそんなんな気がするけど。
2011/12/25
そういうふうにできている - PyPy Advent Calendar 2011 12/25
このエントリは PyPy Advent Calendar 2011 に参加することを強いられています。
それもこれも、Twitterで「PyPy触りたい」などと言っていたがために、闇の軍団総帥であるところの◯畳◯間さんに拉致られ…そのままおとなくしていればよかったのに、うっかり「とらドラ!」ネタに乗っかってしまったら*1、いつのまにか最終日を担当することになっていました。
しかも、あーみんの称号付きです。闇の軍団は本物のあーみんの召喚を試みましたが、まだ音符が足りなかったみたいです。もうすぐ幸せのメロディーが完成しますニャプので、それまではぼくで我慢してください。偶像です。アイドル。
さて本題。
某団員曰く「とらドラの感想エントリでいいですよ」ってことだったのですが、ぼくはあーみん派ではなく、はたまた手乗りタイガー派でもみのりん派でもなく狩野さくら派なのです。困りましたね。
ということで、ここはとらドラつながりということで オレンジ というライブラリを PyPy で動かしてみましょう。
実はまったく環境とか作ってないので、さくっとやっちゃうぞー。
まずはバイナリをダウンロードしてインストールします。ビルドしてもいいのですが、クリスマスどころか2011年が終わりかねないのでやめておきます。ダウンロード元は こちら。
$ tar xzf pypy-1.7-osx64.tar.bz2 $ sudo mv pypy-1.7 /opt/local/lib/pypy1.7 $ sudo ln -s /opt/local/lib/pypy1.7/bin/pypy /opt/local/bin/pypy $ zsh $ pypy --version Python 2.7.1 (7773f8fc4223, Nov 18 2011, 22:15:49) [PyPy 1.7.0 with GCC 4.0.1]
移動先のディレクトリとか名前は適当です。次に virtualenv ります。
$ mkvirtualenv pypy --no-site-package --distribute -p pypy (pypy)$ python --version Python 2.7.1 (7773f8fc4223, Nov 18 2011, 22:15:49) [PyPy 1.7.0 with GCC 4.0.1]
これで PyPy 動く環境はできました。あとはさっさと pip install して着飾った街に繰り出しましょう!
(pypy)$ sudo pip install orange Downloading/unpacking orange Running setup.py egg_info for package orange Traceback (most recent call last): File "app_main.py", line 51, in run_toplevel File "app_main.py", line 534, in run_it File "<string>", line 14, in <module> File "/Users/drillbits/.virtualenvs/pypy/build/orange/setup.py", line 33, in <module> import numpy ImportError: No module named numpy
( ゚Д゚)
PyPy では numpy が使えません。numpypyはありますが、単純に名前が違うのでこのままだとインストールできないみたいです。
そこで、とりあえずソースを落としてきて、import numpy しているところを import numpypy as numpy に書き換えます。
(pypy)$ wget http://pypi.python.org/packages/source/O/Orange/Orange-2.5a1.tar.gz#md5=568ef180f93f5181e495a664c0d3b953 (pypy)$ tar xzf Orange-2.5a1.tar.gz (pypy)$ cd Orange-2.5a1
setup.py の該当箇所を書き換えた。これで勝つる。
(pypy)$ python setup.py Traceback (most recent call last): File "app_main.py", line 51, in run_toplevel File "setup.py", line 34, in <module> numpy_include_dir = numpy.get_include() AttributeError: 'module' object has no attribute 'get_include'
numpypyの現状
numpypyは現状numpyの全ての機能が使えるわけではありません.というか,ごく一部の機能しか使えない,というのが本当のところです.numpyより50倍速いPythonの数値計算ライブラリ,numpypyを紹介します
はい、全然おあとがよろしくないですね。
どうも、numpy の get_include は numpy のへっだふぁいるとやらの場所を取得するみたいなのですが、へっだふぁいるはしーとかしーぷらぷらで使うアレみたいなので、numpypy にはないみたいです。詰みました。着飾った街はもう幻想になりそうです。お茶を濁すために tornado でも動かそうかと思いましたが*2、すでに動いてるみたい ですしおすし。
というわけでみなさん、オレンジが PyPy で動くように是非 numpypy プロジェクトに寄付しましょう 。PayPal で簡単どねーしょんです。寄付し終わったら売れ残ったケーキでも買いに行きましょう。ぼくは酷いエントリを書いた罰で釜茹でにされてきます。みなさんさようなら。
※ このエントリの闇の軍団はフィクションです。実在の pypy-ja はぜんぜんこわくないです。なのでまずは pypy-ja | Google Groups に参加するといいんだよ。
BGM: ホーリーナイト
2011/08/31
MacPorts で upgrade したらターミナルが死んだ
死
MacPorts で入れた python2.7.1 を 2.7.2 にしようとして、
$ sudo port upgrade python27
したら、2.7.2 になったはいいけど、ターミナルが開いた瞬間落ちるようになった。なにかエラーを吐いているようだけど、視認できるまえに落ちる。
とりあえず見れるように
Dock のターミナルのアイコンを右クリックで「新規コマンド」というのがあったので、ここで「シェル内でコマンドを実行」にチェックして適当なコマンド(python とか)を実行したら落ちずに止まった。
dyld: Library not loaded: /opt/local/lib/libgdbm.3.dylib Referenced from: /opt/local/bin/zsh Reason: image not found [プロセスが完了しました]
なんか /opt/local/lib/libgdbm.3.dylib が消えてるっぽい。
そして /opt/local/lib/ 配下を見ようにもターミナルが使えない。
ログインシェルを変更
zsh が使ってるライブラリっぽいので、ログインシェルを bash にしたらターミナルは使えるようになった。
ターミナルの環境設定の起動 > 開くシェル > コマンド(完全パス)を /bin/bash に。
で、確認してみると libgdbm.3.dylib はなくて、代わりに最近の日付で libgdbm.4.dylib ってのができてた。
zsh も upgrade
libgdbm.3.dylib を復活させるのもよくわからないので、とりあえず zsh も upgrade したら zsh が使えるようになった。
$ sudo port upgrade zsh-devel
こっちも最新版で libgdbm.4.dylib 使うようになったってことかなー
めもおしまい。
2011/07/06
Google App Engine ハッカソン & appengine ja night #17 に参加して泣き濡れて頬染めてエブリナイ
結論
俺は死ぬべき
はい
参加してきました
結果から言うと、なんか受賞(?)してタニシappengineのロゴのあみぐるみいただきました
なんかほんともうすみません
あと今回もとぅぎゃりました
http://togetter.com/li/158258
zusaar
Google App Engine ハッカソン
appengine ja night #17
会場はリクルート メディアテクノロジーラボさんでした!
ありがとうございます!
今回は appengine ja night の前にハッカソン
appengineを使った何かを作るということで、2ヶ月前に転職してPythonistaへの道を歩み始めたぼくは「軽く appengine/py さわるかー」くらいの心持ちで行ってきました
昼過ぎくらいに到着したのですが、そこで最後に発表があることを知ったので、
カレーうどん食べながら*1とりあえず見せられるようなものを考えました
それがごらんの有様だよ!!!
http://googl-plus.appspot.com/
経緯
機能
- 検索できます
- でも
たまに頻繁にエラーでます - 運良く検索できたらマウスオーバーするとサークルボタンが出て、クリックすると
- あとはまあいろいろ
結果
- ひどい
- 受賞してさらにひどい
- このあとの appengine ja night で同じ発表をやらされてさらにひどい
- よく考えたら python あまり関係ない
- @takayuki_h さんに言われて気づいたけど、appengine である必要性すらない
はい
まあでも、せっかく参加したなら発表者は多いほうがいいじゃないですか
そのくらいの気持ちで発表したっていいじゃないですか
そしてこんなことするアホもいるんだからみんなハッカソンとかどんどん参加するといいよ!
あと Twitter4J にみんな寄付するといいよ!
あと
上であげたアレは色々とアレ(トップのロゴとか)なので怒られたら光の速さで消えます
2010/12/18
Google App Engine でサーバーサイドJavaScript
すみません!
この記事はJavaScript Advent Calendar 2010の記事です
サーバーサイドJS盛り上がってますね(ぼくの観測範囲で)
まあ主に node.js とか node.js とか node.js とか
たしかにサーバーサイドJSなら、これまでHTML+CSS+JavaScriptでクライアント側を書いてた人も、新しい言語の構文とか覚えずにサーバーサイドが書けちゃいますよ
でも、まだ実行環境を整えるのはちょっとたいへん…
こんなときPHPなら、適当なレンタルサーバー借りても大抵動かせちゃうのに!よしPHPをやろう!
はい、JavaScript Advent Calendar の記事です
それ、appengineでできるよ
というわけで、Google App Engine でサーバーサイドJSをやってみます
なんでも、appengine 上でRhinoが動くので、RhinoベースのサーバーサイドJSライブラリが動くらしい
「らしいです」というのは、ぼくもこの記事書くためにはじめてやってみるので、まあ探り探りやっていく感じです
とりあえず試してみましょう
こんな動画があったのでこれを参考に
http://ringojs.org/downloads から Source 最新版のソースをダウンロード
ぼくはWindowsなので"RingoJS v0.6.0 zip source archive"を落として解凍
そしたらコマンドプロンプトを開いて、解凍したディレクトリに移動しておきます
で、動画では bin/ringo-admin とかやってますが、Windowsだとできないので
>cd bin >ringo-admin.cmd create -a [作成するディレクトリのフルパス]
としました*2
これで土台がサクっと作られるので、次は動画にならって開発サーバを起動…
あ
動画だと dev_server.sh とか使ってますが、今までEclipse+Pluginの世界で appengine/J をやってきたので入ってないんだった…
なのでこれから普通のSDK入れるのもめんどくさいのでとりあえずEclipseで起動します
ringo-adminでできたフォルダの中にWEB-INFフォルダがあるので、その中身でEclipseで作成したappengineプロジェクトのWEB-INFの中身を上書きします!
あとは普段どおり開発サーバを立ち上げるだけで普通に動きますね!そのままデプロイもOK!
とはいえ、せっかくJSでサーバーサイドもやるんだからEclipseとか使わないほうがいいかね…
ちなみにこの先はRailsちっくな感じで作りこんでくっぽいです
とりあえずページを増やすだけならこんな感じに WEB-INF/app/actions.js に追記
var {Response} = require('ringo/webapp/response'); exports.index = function (req) { return Response.skin(module.resolve('skins/index.html'), { title: "It's working!" }); }; // ここから追記 exports.hello = function (req) { return Response.skin(module.resolve('skins/index.html'), { title: "Hello, ringojs" }); }; // ここまで追記
http://localhost:8888/hello にアクセスすると、http://localhost:8888/ のタイトル部分だけ変更されたページがでます
skins 以下がviewな感じでしょうかねー
以上おしまい








