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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

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

Q&A

解決済

2回答

5789閲覧

Python環境内蔵について docker? Anaconda?

leilei

総合スコア39

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

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

1グッド

1クリップ

投稿2018/07/28 07:54

編集2018/07/28 08:16

dockerはすごいと思いますが、壮大過ぎて理解しにくい感じですね。
調べているうちに『穴込んだ』(Anaconda)というやつにも遭遇しました。
どっちも「Python環境を内蔵」か「Pythonに利用される多くのLIBを内臓」と主張しているようです。

『穴込んだ』のほうはPythonにもっともふさわしいと直感しますけれども(笑)、
一体、どんな場合どれを選択すべき?という悩ましい質問です。

【正直、読んでもdockerの正体を把握しにくいですね、仮想マシン系のようなものでしょうか?】

求めているのは、開発環境を自動整備と開発成果物の自動パッケージ化しツール(ソフト)です。
自分が開発したPython プログラムファイル Python実行環境 Python依存のあらゆるLIBを一つのパッケージ化し、それをターゲットのマシンにコピーすれば、開発したPythonアプリが実行可能状態になるというもっとも簡単なツールです。

要は人間によって開発環境に含ぶべきソフトパッケージや、Pythonに利用されるLIBを一つ一つ手動でインストールする手間を省きたいのです。

できれば 開発環境とターゲットマシンと全然異なるOSであるにも適応できるーーー超無理?

なので、 dockerとAnaconda以外の方法もあれば、是非ご教授お願いします

どうぞ宜しくお願い致します。

IS.SEKI👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

「手間を省きたい」が「同じ構成の環境を幾つもつくるので、いちいち手動でやりたくない」という意味なら、dockerはたぶんいい選択肢ですし、まあ仮想マシンのVMをコピーしてもいい訳ですし、シェルスクリプトとかchefで書いておくという手もあります。

最初に一回つくる手間はかかりますが、二回目以降は楽ができます。最初の一回は、自分でやってみた方が良いと思います(ネットに転がってるのもらってきても、ややこしいことしなければ動くだろうけど。問題はpythonだと機械学習でGPU使いたくなるから、そのへんでややこしいことする必要があるくらい?)。

ただ、そこまでガツガツに環境の再利用性を高めたところで、個人規模で使っててどこまで恩恵を受けられるか? は微妙かもしれません。


「手間を省きたい」が「ライブラリのインストールとかよくわからないし面倒くさい、ぜんぶソフトが勝手にやってくれたらいいな」なら、その試みは成功しません。anacondaはその方向性なのだと思いますが、個人的には否定的です。

というのは、anaconda使いの方が、anaconda固有のバグ・不具合にドハマりしている質問をたまに見かけるので・・・。

そんな不安要素を増やすくらいなら、自分でOSのパッケージマネージャとかpip使って管理した方が何十倍もマシだと個人的には思います。

また、当然ながら様々な制約があります。なので、anacondaを使ってトータルの手間を減らせるかというと、たぶん「色々やろうと思ったらかえって手間がかかる」のではないでしょうか。

「何もしないで使えます」は、意外と鬼門です。


インフラを人任せにできるなら、そのインフラの上ではかなり自由が効くと思います。AWSとかですかね。

そういうのの上でだけ走らせる、というのも一つの選択肢ではないでしょうか。

投稿2018/07/29 13:52

hayataka2049

総合スコア30933

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

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

leilei

2018/07/30 23:49 編集

hayataka2049さん 本当にありがとうございます 金言ですね。感服しました。 参考させていただきます。
guest

0

PythonではなくGoの方がその辺ちゃんと整備されてると思います。否開発環境へのアプリケーション展開に関してはPythonだとちゃんと工夫しないと道は無いです。

投稿2018/07/28 19:38

YouheiSakurai

総合スコア6142

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

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

IS.SEKI

2018/07/29 06:02

> Pythonだとちゃんと工夫しないと道は無いです。 でもdockerとAnacondaはそのための存在ではないっけ?
YouheiSakurai

2018/07/29 06:23

あなたの書いたHelloWorld.pyを何かをコピーするだけでWindows/Mac/Linux関係なく動くようにしようとしてみれば分かります。DockerでもAnnacondaでも無理です、どちらも実行環境の整備が先に必要です。
leilei

2018/07/30 23:57

YouheiSakuraiさん 貴重な意見ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問