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

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

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

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

Q&A

解決済

3回答

4786閲覧

Pythonでrunserverする時のコマンドについて、と、機械学習についての素朴な質問

Tatsuo_Iriyama

総合スコア50

Python

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

0グッド

0クリップ

投稿2018/10/11 10:09

編集2018/10/11 10:12

##現状

Pythonでrunserverコマンドを実行してサーバーを走らせる時、python3 manage.py runserver 0:8000のコマンドで走らせています。

環境構築は
https://qiita.com/192_60_33_2/items/73df25e2dd64217165ae
こちらのサイトを参考にして構築しました。

python manage.py runserverのコマンドを実行しますと、

[vagrant@local hoge]$ python manage.py runserver File "manage.py", line 14 ) from exc ^ SyntaxError: invalid syntax [vagrant@local hoge]$

こちらのエラーが発生します。

##疑問点

Pythonについて調べていますと、サーバーを走らせる時だいたいpython manage.py runserverのコマンドを使用しているなぁと感じます。

そもそもの部分として、この違いがわからず環境構築をした自分に比があることは重々承知しているのですが、だからこそそこの理解をしたいと思いまして、このコマンドの違いについて教えて頂きたいなぁと思います。

おそらくこの質問では、抽象的かつ私の現在の環境に関する情報が少ない為、答えかねると思いますので、追加・修正依頼等でコメント頂けますと、随時追記という形で更新して行きますので、よろしくお願い致します。

##別件

Pythonで機械学習をしたいと思っています。
Python × Djangoの環境下で行う事は可能でしょうか?

もしこの質問に対して、そもそも機械学習というのは・・・、といった事が発生しましたら先にお詫び申し上げます。

YouTubeのGoogle Developersが提供している機械学習に関する動画で勉強をしようと思っているのですが、同僚の方がanacondaで自身の開発環境が色々大変になったといっていたので、心なしかinstallしづらいのです。。。

いやいや、全然そんな事ないよという意見ありましたら是非お願い致します!

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

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

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

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

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

guest

回答3

0

ベストアンサー

Pythonで機械学習をしたいと思っています。
Python × Djangoの環境下で行う事は可能でしょうか?

可能です。

YouTubeのGoogle Developersが提供している機械学習に関する動画で勉強をしようと思っているのですが、同僚の方がanacondaで自身の開発環境が色々大変になったといっていたので、心なしかinstallしづらいのです。。。

Anaconda を使うと独立した Python 環境をいくつも作れるので、いろいろインストールしておかしくなってしまったら、環境を消して作り直せます。
なので、試行錯誤は Anaconda 上でいいですが、最終的には環境構築は手順を整理した上で Dockerfile に落とし込むとよいです。
Dockerfile を build すれば、誰でもその環境を再現でき、作成したアプリケーションが動くことが理想です。

投稿2018/10/11 10:22

tiitoi

総合スコア21956

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

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

Tatsuo_Iriyama

2018/10/11 13:57

機械学習を行う上で、例えばDjangoにはなくて、Anacondaにはあるライブラリとかあるのでしょうか? Google Developersが提供している動画をみながらコードを書いたのですが、 [vagrant@local sample]$ python hello-world.py Traceback (most recent call last): File "hello-world.py", line 1, in <module> from sklearn import tree ImportError: No module named sklearn このようなエラーが発生したので、進めないという状況にあります。 また、もしDjangoよりAnacondaをオススメする理由があれば教えて欲しいです。 特にないのであれば、簡単な機械学習を行うチュートリアルとかあれば教えて頂きたいです。
tiitoi

2018/10/11 14:17 編集

Django は CakePHP や Laravel と同様に Web フレームワーク (Python のモジュール) です。 一方、Anaconda は Python 環境管理ツールです。モジュールではありません。 Anaconda を使うことは Python を動かす環境を作る1つの方法です。これのメリットは人気のライブラリが最初から同梱しているため、機械学習など始めるときにライブラリをインストールする手間が省けることです。 Anaconda やモジュールについて、よくわかっていない部分がある場合は以下の記事をご覧になってはどうでしょうか。 https://qiita.com/t2y/items/2a3eb58103e85d8064b6 ちなみに No module named sklearn というエラーは sklearn というモジュールがまだインストールされていないため、起こっています。つまり、モジュールを自分でインストールする必要がありますが、Anaconda を使えば、最初から同梱しています。
Tatsuo_Iriyama

2018/10/12 02:40

なるほど、そういう事なのですね、理解しました! ありがとうございます!
guest

0

疑問点

どんな環境になっているのかにもよりますが、仮にシステムにpython2とpython3がインストールされているとすると、ざっと4,5種類くらいのpythonコマンドが打てると思います。

  • python
  • python2
  • python2.7(もしかしたら2.7じゃないかも)
  • python3
  • python3.x(xにはマイナーバージョンの数字が入る)

すべてに対応する実行ファイルがある訳ではなく、実際に存在しているのはpython2系とpython3系の実行ファイルが一つずつで、他はそれらへのシンボリックリンクです。

また、システムによってpythonと打ったときにpython2が走ったりpython3が走ったりしますが。これは単にpythonコマンドの実態がシンボリックリンクで、python2やpython3の本体に結びついているというケースが多いと思います。

また、pythonには色々な仮想環境の仕組みがありますが、これらは基本的にはPATHをいじってpythonコマンドの指示す先を変更しています。

別件

djangoで作ったwebサービスと機械学習を組み合わせることは可能です。どうやるのかは知りませんが。

anacondaは、絶対必要というものではありません。必要なライブラリはすべて手動で入れられます(入れる方法を知っていれば)。

入れる方法を知らないとか、知っているけどいちいちやるのは面倒くさいと思う人がanacondaを使います。

環境のことが引っかかっているなら、virtualenvでも使って手動で仮想環境を構築する練習をしてみるのも良いと思います。

投稿2018/10/11 16:06

編集2018/10/12 03:19
hayataka2049

総合スコア30933

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

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

Tatsuo_Iriyama

2018/10/12 02:55

ご回答ありがとうございます。 >単にPATHの前の方に書いてあるものが優先的に実行されているだけです。 ここの部分に関して、どこのファイルを確認すれば現在のPATHの状況が確認できるかわかりますでしょうか? 開発環境によって異なるのであれば、大丈夫です。
hayataka2049

2018/10/12 03:11

unix系ならターミナルでecho $PATHとか打ち込むと見れると思います
hayataka2049

2018/10/12 03:13

ただし、PATHを確認するより、whichコマンドでコマンドの本体の絶対パスを見たり、lsの-lオプションで何に対するシンボリックリンクなのか確認したりするのが実践的かなぁ、という気がします
hayataka2049

2018/10/12 03:22

読み直してみたらその部分普通に間違っていたので、修正しました。申し訳ありません。 「pythonコマンドが何を指しているかを見たい」のであれば、 ls -l `which python` とかで良いと思います。
Tatsuo_Iriyama

2018/10/12 04:37

事細かにありがとうございます、助かりました!
guest

0

こちらのエラーが発生します。

How to solve SyntaxError on autogenerated manage.py?にて全く同じエラーについて記載されています。
python2.x系で動作していると思われるのでpython3.x系、例えばpython3 manage.py runserverと実行してみてください。

投稿2018/10/11 14:29

can110

総合スコア38262

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

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

Tatsuo_Iriyama

2018/10/12 02:56

このコマンドを実行すると確かにサーバーは走るのですが、ページが開かない、という状況になります。 これは、何が原因だと考えればいいのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問