暗号通貨.py

ビットコインやブロックチェーンの技術に衝撃を受け、プログラミングの勉強を開始。現在はPythonを勉強中。

Programming

Pythonで仮想環境を構築すべき理由

プログラミングは底なし沼のようです。調べれば調べる程わからないことが出てきて、時間を費やし、結局目標に届きません。

今の自分はそんな感じで悪戦苦闘というか何を調べているのかもわからなくなってしまう始末です。

とりあえずの目標としてはビットコインやブロックチェーン関係のニュースサイトやブログの更新情報をつぶやく自作のTwitter Botを作るだけのつもりでした。

前回前々回でTwitterライブラリのTweepyを使ってつぶやくのに成功したのは良かったのです。

そこからbotを作るのにサーバー環境が必要なのがわかって、お金をかけたくなかったので、以下の3つを候補としました。

Google App Engine

Heroku

Mongo DB

簡単に調べて一番簡単そうなHerokuにして、とりあえずHerokuでHello,World!だ!と思い、進めていくも最終的に何故かデプロイできず・・・

その前にforeman startで起動しないというハプニングもあったのですがコチラはなんとか解決。

この辺もブログにメモしながら作業しているのでまた詳しく書きます。

そして結局たどり着いた答えはHerokuのデフォルト設定はPython2系で、私が使っているのは3系だったのでデプロイできなかったのです。Herokuに僕のPythonバージョンは3系だよ!って教えてあげなきゃいけないということですね。

この記事がわかりやすかったです。

Rubyに負けるな!HerokuでPython(Django)動かす方法

解決策としてはPythonのバージョンを指定してあげれば良いとのことです。

全てのバージョンでも使えるようにしてくれよヘロクーって思っていたのですが、Pythonではそのために仮想開発環境があるようです。

そしてVirtualenvという仮想開発環境を導入すれば問題なさそうで、よくよく調べていくとPythonの開発は仮想開発環境で行うべきだという素晴らしい記事に出会います。

Pythonを書き始める前に見るべきTips

タイトルにもしてくれていますが(笑)できるなら、Pythonでコードを書き始める前に出会いたかったものです。

出会いってそんなものですよね泣

私の場合、初心者過ぎて最初にこれ読んでも意味わからなかったと思いますが。

少し引用します。

Pythonの開発はだいたい以下の段取りで行う。

  1. プロジェクト用の仮想環境を作成する(virtualenv/conda)
    Pythonではプロジェクトの稼働に必要なライブラリはグローバルにインストールせず、個別の仮想環境にインストールするのが通例で、そのためのツールがvirtualenv/condaになる
  2. 仮想環境に必要なモジュールをインストールする(pip/conda)
    pipはパッケージ管理ツール。Pythonプロジェクトを外部に公開する際は、pip freezeで必要なパッケージを一覧にし、これを元に各環境でインストールしてもらう(condaの場合はconda list --export)
  3. 作成したPythonを実行する

詳しくは記事を見て欲しいのですが、とりあえずPythonの開発は仮想環境でやるべきだよっ!ということですね。

なぜかというと、Pythonは2と3に後方置換性がなく、最新のバージョンであるはずの3のコードが2で動かないことがよくあるみたいです。他の言語はわかりません、すみません。

まだ2を使っている人、ライブラリも3に対応していないことが多いようです。

だからどちらでも動く仮想環境を用意し、ライブラリを個別にインストールして管理していくべきなのですね。

私はグローバルにAnacondaをインストールして、仮想環境を構築せずに実行しようとしたのがそもそものエラーの原因だったのです。

pipインストールでPython3でも使えるのか確認せず、とりあえずインストールして使っていたので反省です。

コードどうこうより開発環境を整えることの重要性を知りました。

じゃあ実際に仮想環境をどうやって構築するの?Pythonで理想的な仮想環境は?という疑問に行き着きました。

長くなってきたので、続きは次回にします。

次回予告「Pythonの開発環境を整える」

参考記事

Pythonを書き始める前に見るべきTips

Rubyに負けるな!HerokuでPython(Django)動かす方法

スポンサーリンク

adsense

スポンサーリンク

 

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin

-Programming