質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Bottle

Bottleは、PythonのWebサーバです。1つのPythonファイルで構成されており、非常に軽量。Web APIの作成や導入が簡単で、DjangoやFlaskに比べ使いやすくシンプルなことが特徴です。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

855閲覧

【現在検証中】BottleとFlask、両方インストールすると問題は発生したりするのでしょうか?

merry4649

総合スコア2

Bottle

Bottleは、PythonのWebサーバです。1つのPythonファイルで構成されており、非常に軽量。Web APIの作成や導入が簡単で、DjangoやFlaskに比べ使いやすくシンプルなことが特徴です。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/14 01:38

編集2020/06/14 03:07

【一度質問を投稿したのですが、自身で検証した後追記することにしました】

お伺いしたいこと

PythonでWebサービスを構築できるようになりたいと考えている初心者です。
最初に見ていた教科書でBottleを使っていたので、まずはBottleを使っていましたが、
最近読み始めた別の本ではFlaskが使われているので、そちらも試してみようと思っています。
この二つのフレームワークを同じ環境にインストールした場合、何か問題が発生したりするのでしょうか?

質問の背景

フォルダに仮想環境を設定してBottleをインストールしたので、
再度別の仮想環境を作ればよいのだろうと思っていますが、
同じ環境にインストールしたらどうなるのかな?と思い、質問させていただきました。
(面倒なので同じフォルダにインストールしてしまいたい...という邪な思いがあります)
初歩的な質問で恐縮ですが、何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hentaiman

2020/06/14 02:19

邪というか楽したいのはみんな一緒なのでとりあえずやってみて、失敗したら再構築してリトライするのが経験値になってよろしい 大丈夫な場合はなぜ大丈夫だったか、ダメだったらなぜダメだったか、色々と考えてまた判断力が上がりますよ
m.ts10806

2020/06/14 02:39

>同じ環境にインストールしたらどうなるのかな? まず試しましょうよ。 複数同時に同じ環境に入れたことがある人がこの質問を見る可能性と 自身が試すのと どちらが確実でしょう? https://teratail.com/help/question-tips#questionTips1-2
merry4649

2020/06/14 02:56

ありがとうございます! 確かに、まずは自分で試してみないとですよね。 質問の仕方がまずくて申し訳ありませんでした。。。 ちょっとやってみて、その結果をもとに具体的な質問にしたいと思います。 こういう場合、この質問を残したままだと他の人が開いてしまって時間をとらせてしまうのが申し訳ないと思ったのですが、いったん質問を削除した方がよいのでしょうか?
m.ts10806

2020/06/14 03:02

見てる方は誰も急いでないので、試した結果を質問に追記すれば良いかと思います。 気になるなら質問冒頭に一言、現在検証中で後ほど追記する旨を記載すれば良いかと思います。 あと、どちらかというと、双方のフレームワークの役割、用途を明確にしといた方がいいかとは思いますけど。
hentaiman

2020/06/14 03:08

試して実感した方が理解に繋がる思ったから回答をせずにコメントにしただけですので、質問自体はそこまで悪くは無いと思います。 ただ、開発者ならまずは環境(まさに質問者の用意したような仮想環境)を用意して試します
guest

回答1

0

ベストアンサー

その問題がないかどうかの確認作業の手間を省くためにも
仮想環境の構築をお勧めします。

一応、ライブラリの競合に関してだけは bottle は、
シングルファイルなので外部依存はありません。

極端に言うと、ファイル1個のコピーで済むので、
環境には flask をインストールし、
bottle はプロジェクトにコピーしてしまってもよいです。
(※お勧めという意図ではありません。管理が面倒になります。せめて pipenv でプロジェクト下で管理)

不要なライブラリを環境に混在させると、
例えば、問題が起こって不具合報告をしようとする時に、
余計なライブラリの影響がないことを保証するためにも、
クリーンな環境を再度構築する必要があります。

pip freeze でインストールしたライブラリ一覧を出力し報告したとして、
皆が bottle はファイル単体なので依存なしと知っているわけではありません。
不要なものは省いておいたほうが良いです。


因みに、他に影響がないかを調べるコストのほうが高く付きます
全部は出来ないので、調査方法の一例を上げると

  • 環境変数等で競合が起きないか
    bottle.py ファイルを os.environ で検索
    環境変数のキーは BOTTLE_ プレフィクスがあるので問題はなさそう。

~といった感じで、他に競合する可能性のある項目を調べるとして、
何処まで確認するか、確認漏れがないことは、どのように保証できるのでしょう。
環境を別けたほうが確実で、客観的に影響がないことを示せます。

結論: 仮に実際に影響がなかったとしても、辞めておいたほうが良い。

bottle が将来のアップデートで方針を変えてこないという保証はありません。
(依存なしというのはコンセプトとして挙げてるので、方針を変えるのは考え難いですが、
その辺りの事を考えないといけない時点で既に、余計なリスク判断が手間となってます)

また、実際に bottle で作ったプログラムの依存ライブラリが bottle のみだとは限りません、
テンプレートエンジンや、WSGI サーバー等、組み合わせて使ったライブラリとその依存ライブラリ迄影響範囲は波及します。
(将来的に bottle + 他のライブラリで何か作るケースも含む)

楽したいなら素直に別の仮想環境構築です。

投稿2020/06/14 06:50

teamikl

総合スコア8664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

merry4649

2020/06/14 10:52

ありがとうございます! その後試していたところ、現時点では特段問題は発生していなかったのですが、将来的に混乱する可能性があるということですね。 今のところテスト程度のプログラムしか動かしていなかったので、今後は仮想環境を分けて続けたいと思います。 いったん本件はteamiklさんをベストアンサーとさせていただき、私の方でも何か分かったら追記させていただきます。 teamkilさん、その他教えてくださった方々、本当にありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問