Pythonデビュー
とっしーです。
仕事では基本PHPで、バッチとか簡単なスクリプトはbash使ってるんですが、
なんかその間みたいな言語を覚えたいなーという気持ちがずっとありました。
候補としては、まぁ予想は付くと思いますがRubyかPythonですわね。
それぞれのユーザー様からしたらとても失礼かもしれないんですが、
Perlはなんか今から覚えるようなもんでもなさそうだし、
CとかC++まで行くとさすがにそこまでじゃないしーって感じなんですよね。
JavaはJVM起動とか入るんでちょいと除外。Web用途、アプリ用途で既に使ってましたし。
そしてRubyはRoR、というかSinatraですけど、のためにちょこちょこ触ってたりします。
なのでスクリプト用途に使えそうな言語、ということでPythonを始めてみようかと思ったので
環境構築でもメモメモ。
サーバ
とりあえずいつも使ってるさくらのVPSにそのまま環境を作ってみます。
インストール
もしかして昔なんか入れたっけなー、つかCentOSって最初っから入ってたんだっけなー
ということでコマンド打ってみます。
$ python --version Python 2.7.4
うお、なんか入ってる!
でもたしか最新は3系とかじゃなかったっけ・・・?
調べてみるとやっぱり最新の安定版は3.3.3とのことなので、上記バージョンとは別にインストールしてみます。
$ wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz $ tar -xvzf Python-3.3.3.tgz $ ./configure --prefix=/usr/local $ sudo make
ここでなんか怒られました。
Python build finished, but the necessary bits to build these modules were not found: _lzma To find the necessary bits, look in setup.py in detect_modules() for the module's name.
look in setup.py in detect_modules()とか言われたので見てみます。
1370行目辺りですかね。
# LZMA compression support. if self.compiler.find_library_file(lib_dirs, 'lzma'): exts.append( Extension('_lzma', ['_lzmamodule.c'], libraries = ['lzma']) ) else: missing.append('_lzma')
lzmaってパッケージがないのかね。
sudo yum install lzma Loaded plugins: fastestmirror, priorities, security Loading mirror speeds from cached hostfile * epel: ftp.iij.ad.jp * remi: remi.kazukioishi.net * rpmforge: ftp.kddilabs.jp 183 packages excluded due to repository priority protections Setting up Install Process Package lzma-4.32.7-1.el6.rf.x86_64 is obsoleted by xz-lzma-compat-4.999.9-0.3.beta.20091007git.el6.x86_64 which is already installed Nothing to do
あるじゃん( ^ω^)
調べたらlzmaってファイル圧縮とかのなんかなのね。
まぁなくてもどうにかなんじゃね(´・ω・`)
ていっ
$ sudo make altinstall
なにやらさっきのconfigureの--prefixオプションと、このaltinstallで
既にあるバージョンと競合とかせずにインストールできるぽいですね。
特にエラーっぽいメッセージはなし、と。
というわけで確認。
$ python --version Python 2.7.4
うんこれはこれで正しい。
$ python3.3 --version Python 3.3.3
おっけーい。
そしてこれを簡単に切り替えられる仕組みとしてvirtualenvってのがあるらしいんですが
今日のところは時間的にいっぱいいっぱいなのでまた後日。
もうちょい早くにやり始めれば良かった(´・ω・`)