LearningTimelineというwebアプリ作りました。

ツイッターのタイムラインを学習して、新たな文章をツイートしてくれるwebアプリ作りました。

しゅうまい君のようなツイートがみんな出来るようになったら面白いなと思いまして開発に至りました。

どうぞ使ってみてください。解析に少し時間かかります。

Learning Timeline

(自宅でホストしているため、良く電源落としてます) 

pythonで書きました。コードひどいので載せるかは分かりません。

anaconda3.6 PATHを通す。condaコマンドが使えない場合。

centOS6.8でのanaconda3.6の環境構築について

anacondaインストールしたけど、condaコマンドが使えない人やターミナルでpythonと入力しても、osに元からインストールされているpython2が使われてしまう人向けに書きます。

原因はPATHが通っていない事です。

anacondaをインストールするとデフォルトでは、~/anaconda3に入ります。

ターミナルで以下のコマンドを実行

vim ~/.bashrc

以下の部分を下記のように変更

export PATH=~/anaconda3/bin:$PATH

 

(追記)

環境によってはvim ~/.bashrc見てもexport PATHなんて文字は見当たらないという人もいると思いますが、その場合はエイリアスの下にでもexport PATH=~/anaconda3/bin:$PATH

を追記すればokです。

 

保存して、そのあとにターミナルで以下を実行

source ~/.bashrc

 

これでシステムに設定が反映されるはずです。

ターミナルでpythonと入力してエンターを押してみてください。

python3が立ち上がれば成功です。

 

 

Command "python setup.py egg_info" failed with error code 1 in の原因がapxsが入ってない事だった。

タイトルのエラーなのですが、mod_wsgiをpipでインストールしようとした際に出ました。

mod_wsgiApacheと連携しているため、mod_wsgiをインストールする際にApacheでモジュールのインストールも行われるようです。

その際にApacheにモジュールを追加するツールとしてapxsというツールが使われます。

このツールがインストールされていないとApacheにモジュールが追加出来ません。

apacheをインストールした時に一緒にapxsも含まれるだろ!と僕も思っていたのですが、これが含まれるパッケージというものが別にあるみたいです。

apacheをインストールした際に含まれるパッケージは「httpd」と「httpd-tools」だけのようです。

apxsが含まれるパッケージは「httpd-devel」と言います。

長くなりましたが、解決するには

 

yum install httpd-devel

 

 

 

no such table: django_session が出た場合。sqlite3

Djangoでデータベースを使おうとすると出る事があります。

python manage.py runserver するディレクトリと同じディレクトリで

python manege.py migrate

を実行してみてください。

これでINSTALLED_APPSの設定を参照するとともに、

(自分のサイト)/setting.pyファイルのデータベース設定に従って必要な全てのデータベースのテーブルを作成してくれます。

こんな感じで作成してくれます。

f:id:m011501945:20171006063802p:plain

mysqli_query() expects at least 2 parameters

またsqlのエラーの話。

エラー文は、mysqli_query()は最低でも2つのパラメーターを渡さないとだめだよって事です。

mysqli_query()は第1引数にリンクid,第2引数にsql文を渡さないといけないみたいです。

リンクidはmysqli_connect関数で取得した値です。

mysqli_select_db() expects parameter 1 to be mysqli, string given

$db_selected = mysqli_select_db('memo_db',$link);

↑のようにphpmysqlのデータベースを選択しようとしたらタイトルのエラーが出ました。

解決方法は単純にパラメーターの渡す順番が間違っていたことです。

$db_selected = mysqli_select_db($link,'memo_db');

のようにリンクIDを先に渡したら解決しました。