diadia

興味があることをやってみる。独学で勉強しています。初心者から始めたので困ったことを書いて同じ境遇の方のヒントになればと思います。

python

python:自作モジュールのインポートについて

自作モジュール内でインポートをするのに困ったので解決方法をメモしておく。 そもそもimportするには? ディレクトリ以下にあるファイルをインポートすることができる。 MY_DIR----- myscript.py L--- myconfig.py L--- init.py カレントディレクトリがMY_D…

python: windowsとmacから同一のcsvスクリプトを利用する

問題点 windowsとmacではcsvモジュールを使う場合以下の差異が存在する。 1.ファイルパスが異なる。 2.csvファイル書き込みの際にlineterminatorが必要か否か。 1.2も今まではwindows用、mac用のスクリプトを別々に準備し使うOSによってスクリプトを使い分け…

Python:CSVモジュール使い方

関連記事 リスト型データをcsvに出力する方法 csvモジュールの使い方 リストデータをファイルとしてアウトプットしたい場合にcsvファイルにするのは便利。 csvモジュールの使い方をメモしておく。 csvモジュールはpythonの標準ライブラリなのでpip install c…

urllib3についてメモ

document https://urllib3.readthedocs.io/en/latest/index.html コードの流れを追う import urllib3 #1 http = urllib3.PoolManager() #2 r = http.request('GET', 'http://httpbin.org/robots.txt') #3 #1 import urllib3 https://github.com/urllib3/urll…

requestsを見てみる

そもそも requestsはurllib3をもとに作られている。requests.__init__.pyを見ればわかる。それでHTTPリクエストを送る関係のライブラリがpythonには複数ある。 urllib2, urllib(.request), urllib3. requests。これらについて理解するのも後々役に立つだろう…

エラー:AssertionError: You cannot call `.save()` on a serializer with invalid data.

AssertionError: You cannot call `.save()` on a serializer with invalid data. 上記のエラーが表示された。 エラーが出た状況: インスタンスを生成することを目的にdjango rest apiでrequests.post()をする。するとdjango アプリケーションで上記のエラ…

エラー:json.decoder.JSONDecodeError: Extra data

エラー内容とエラーが出た経緯 Traceback (most recent call last): File "execute.py", line 38, in <module> json.load(f) File "/anaconda3/lib/python3.6/json/__init__.py", line 299, in load parse_constant=parse_constant, object_pairs_hook=object_pairs_</module>…

csvファイル 辞書型データ jsonモジュールメモ

https://qiita.com/motoki1990/items/0274d8bcf1a97fe4a869 https://docs.python.org/ja/3/library/csv.html#csv.DictReader https://qiita.com/pscreator/items/6040bddbbf9e9c05f77a http://hktech.hatenablog.com/entry/2018/09/10/235725 djangoのRest A…

windowsでpython のgoogletransをインストールする方法

googletransはエラーが出る よく考えられるpip installでgoogletransをインストールするとエラーが出て使えない状況に陥る。この状況にはパッチされた新たなgoogletransをインストールすることで解決できる。 環境 windows10 anaconda やり方 https://stacko…

gunicornをインストールしてサービス公開

collectstaticを実行 サーバーに/usr/share/nginx/html/media,/usr/share/nginx/html/staticディレクトリがあることを確認してcollectstaticを実行する。 # ディレクトリがない場合以下を実行 $ mkdir /usr/share/nginx/html/media $ mkdir /usr/share/nginx…

エラー: django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co...

エラー django.db.utils.ProgrammingError: syntax error at or near "WITH ORDINALITY" LINE 6: FROM unnest(c.conkey) WITH ORDINALITY co... 以上のエラーが発生した。 これはdjangoのmigrateコマンドを実行したときのエラーである。 環境 環境 ---------…

centos7 psycopg2のインストールエラー

sudo pip3.6 install psycopg2のエラー Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-70sqru_l/psycopg2/ 以上のようなエラーが出た。この問題には以下のように解決する。 https://ja.stackoverflow.com/questions/469…

さくらVPSを使ってdjangoを公開する まとめ

さくらVPSにcentos7を入れる http://torajirousan.hatenadiary.jp/entry/2019/03/31/011303 centos7の初期設定 サーバーへ安全にssh接続できるような設定を行う。 http://torajirousan.hatenadiary.jp/entry/2019/04/22/172101 条件は以下の通り。 root以外…

sqlite:DBに格納されたテーブルデータを確認する方法

djangoでは開発時にsqlite3が使われる。このDBに直接接続し、データを入れてみようと思った。そのときにテーブル名が必要になる。どのような名前のテーブルか 参考文献:https://crimnut.hateblo.jp/entry/2018/04/17/172709 import sqlite3 con = sqlite3.c…

sqlite3:エラー対処:sqlite3.OperationalError: near ")": syntax error

sqlite3.OperationalError: near ")": syntax error このエラーがたまに出て、足止めをくらうのでメモにしておく。 コード cur.execute("INSERT INTO mydb VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,)", (url,title,description,price,None,None,None,None,None,…

sqlite3データベースの変更

sqlite3で既存のデータベースを修正したデータベースを作る必要が出てきた。 この作業は自分にとってヘビーだったので楽してできる方法を考る。今後同じケースにあたったときのために。 今回の方法 今回は別のファイルを作成した。拡張子がない”mydb”がファ…

SQLAlchemy:エラー対処:sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['precision', 'asdecimal']

エラーコード sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['precision', 'asdecimal'] コード class Product(Base): __tablename__ = 'mydb_jp' description = Column(Text) price = Column(Float, precision=(10,0), asdecimal=Tr…

SQLAlchemy:エラー対処:sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None

エラーメッセージ: sqlalchemy.exc.OperationalError: (OperationalError) unable to open database file None None エラーが出た背景 sqlite3のデータベースを読み込みいろいろ変更しようとする際に起きた。 エラー部分 engine = create_engine('sqlite://…

SQLAlchemy

参考文献:https://it-engineer-lab.com/archives/1183 sqlite3とdjangoのmodelsとSQLalchemyの共通点と差異についてメモできるとよい。 sqliteはそもそもすべてのデータをテキストのデータとして保存している。。。? https://blog.ohgaki.net/sqlite-data-…

staticについて理解を深める

まず開発中の場合、django.views.static.serve() ビューを用いてstaticファイル、mediaファイルを配信するようだ。 https://docs.djangoproject.com/ja/2.1/howto/static-files/#serving-static-files-during-development https://docs.djangoproject.com/ja…

sqlite3を使ってみる

使う経緯 apiやスクレイピングで取得したデータはcsvモジュールで管理をしてきた。この方法にはデメリットが有る。それはcsvファイルやpyファイルが量産されてしまうことだ。 そこでdjangoのアプリケーションを作り、リレーショナルなデータベースで管理する…

requestsメモ

少し整理してみる requestsドキュメント http://jp.python-requests.org/en/latest/ requests.get,postの引数params,dataの違い paramsはurlをカスタマイズするイメージで捉えておけば良い。第一引数に加えてparamsのデータをurlに加える。 dataの場合はrequ…

mailchimpを使ってみる

mailchimpを使ってみて感じたこと 最近色々な種類のapiをいじった結果、感想がある。様々なサービスのapiを使うためにあまり負担をかけずに使うためのものだ。自分の場合、apiを使うために毎度たくさんの学習コストがかかるのが負担だった。しかし最終的に実…

centos7にpythonやpipを入れる

centos7にepelを使う 以下のコマンドでepelをいれることができる。このepelを使ってpithon,pipを入れていく。各コマンドはrootユーザ出ない場合、sudoを付け加えること。 参考:https://cjsawer.whitewillow.co.uk/2018/08/29/epel-python-3-6-with-pip-on-c…

特殊メソッドについて

特殊メソッドとは 特殊メソッドは、みんなのpythonによると 新しく作ったクラスに特殊メソッドを定義すると、インスタンスに対して演算子などを使った操作を行えるようになります。 と書いてある。あまりピンとこなかったが今回本当に小さいことだけれど分か…

リストの取扱い

リストの扱いでハマってしまったことがある。https://www.haya-programming.com/entry/2018/06/02/163415listをforループで回してremoveしたら思い通りにならないってことです。listをforループで回すときは、回しているlist自体はいじらないで処理するを原…

画像処理について

環境についてAIが流行ってるので画像系のAIについて調べてみた。pythonにはライブラリがあるみたいだ。今回は試しにopenCVを使ってみようと思う。 参考サイトとして以下がめっちゃ良さそう。 アルゴリズム雑記 openCVを使うにはnumpyもインストールしなけれ…

リスト型データをcsvに出力する方法

関連記事csvモジュールのメモリスト型データをcsvに出力する方法リスト型データの書く要素を各行にしたcsvを書こうとしたところ、簡単にうまく行かなかったのでメモをする。当初のコードcsvのメソッドwriterowの使い方が間違ったから。 import csv job_list …

csvモジュールのメモ

関連記事 リスト型データをcsvに出力する方法 csvモジュールの使い方リストデータをファイルとしてアウトプットしたい場合にcsvファイルとして吐き出すのは便利。 csvモジュールの使い方を簡単にメモしておく。 import csv writerオブジェクトを作成する1行…

ランダムの文字列を作成する関数の作り方

条件英数字01234567890と英字大文字からランダムに取り出して10文字の文字列を作り出す。参考url 9.6. random — 擬似乱数を生成する 9.6.3. シーケンス用の関数 python document:一般的な文字列操作 シーケンス型 参考url概説1. from string import ascii_up…