CGIを勉強するにあたり色々検討した結果Pythonを勉強しておりますが、サーバーでの動作が想像以上に難しく悩んでおります。

PCのWindows8にPythonを入れて簡単なプログラムを作りつつ覚えておりました。さくらのVPS(CentOS6)で動作させてみようと調べたところ、Pythonが古く最新版にできないという事が分かり、戸惑っております。
導入に関してはほとんどの言語で割と整備されていると先入観を持っていたのかもしれません…。

私が今のところ可能そうな方法は以下のようなものです。どれが良いか、他に良い方法がありましたらご指摘、ご提案頂けますと幸いです。
勉強用の書籍とローカルの環境は3.xのものです。

・(今のところ必要性は低いが)Linuxの勉強と思ってCentOSに最新版のPythonを入れてプログラムを動かす。しかし参考サイトはいずれもそのまま試した限りでは上手くいっておりません。Python自体はともかくpipなどが…

・次点だったrubyかPerlを勉強し治す

・Python2.6x で動くように勉強し治し書き直す。

バージョンアップが無理としてもyumとかで併用できる仕組みがないと初心者の人が始めた時に真っ先に引っかかりそうですね…。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/12/04 18:10:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:tukihatu No.1

回答回数180ベストアンサー獲得回数32

ポイント100pt

自分で覚えるとはとてもすばらしいです!プログラマの世界へようこそと(なんちゃってPGの私が)いいたくなりました!


あ、すみません感動の前に質問に回答しないと…
Pythonに限らずレンタルサーバというのは基本的に最新版が入っていることが稀です。残念ながら。
レンタルサーバ・もしくは企業の持っているサーバは昔から稼動していることが多く、稼動開始の時点で最新だったものを入れたまま更新していないことが多いです。理由は以下。
・更新するにはサービスを一旦とめないといけないためめんどくさい
・最新版にすると昔の記述が無効になる可能性、もしそうなると今のお客さんから苦情が来るかもしれない
なのでプログラマの皆さんは最新版であれば一行でできることを、永遠と古い命令を10行20行書いて実現していることが多いのです。。。涙無しには語れません。
基本的に最新の技術が出てから浸透までに5年はかかると聞きます。


ということで、オススメというか今後流用がきくのは「Python2.6x で動くように勉強し治し書き直す」です。面倒でしょうが、なるべく基本の命令だけをつかうと安定して動きます。(「絶対に最新バージョンの命令を使わないと、そもそもやりたいことができない」という場合は辛い)
また「次点だったrubyかPerlを勉強し治す」というのもありです。
ぶっちゃけ本質的に書き方同じですので、Pythonを勉強したあなたなら、やってみるとぱっと覚えられるかもしれません。もちろん少しずつ違いはありますが覚えておけばどこかで使えるかもしれませんし。


自分でCentOSに最新版のPythonを入れるのも、もちろん方法のひとつなのですが(Linux勉強にもなるし)、上記の理由からバージョン違いはよく遭遇します。今後もレンタルサーバの使用を考えているならあまり解決にならないかもしれません。

id:x2pop

回答ありがとうございます。Perlを使って改造する程度の事はしていたのですが、最新版が入っていないというのはよくありました。しかしPythonで言うところの2.6を使いたいが2.5だった、的なイメージで、3.3を使って勉強しても3.1くらいは入ってるだろう、と思い込んでいたのがいけなかったですね…
Linuxは今は覚える必要性が低いので、他の言語を学習しようかと思っております。というのも調べたのですが2.x系から3.x系の移行はたくさん記事や本などの情報があったのですが、逆は難しい物が多かったためです…。
最近ではライブラリの充実を見るとPHPもありかなぁと思えてきましたし、他の言語もいじってみたいと思います。
しかし未だにPython好きな人は多いのに、サーバーではあまり使わないのかと狐につままれた感じです。Windows系よりLinuxがメインという先入観もあったのでしょう。
Fedoraには両方入っているようですね。Linux勉強しようというタイミングがあれば触ってみたいです。

2013/11/29 22:34:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません