- 1. トラブったときに参照した記事一覧:Pytnon編
- 2. Macの仮想環境上でaws-cliが実行できない時の解決方法(python3.8インストール後)
- 3. Kaggle Titanic data set – Top 2% guide (Part 05) – Final
- 4. フィボナッチ数列(今更聞けない)
- 5. pythonのlambda式って・・・
- 6. scipy.optimize.minimize を使ったGPS測位計算みたいな最適化計算の動作確認
- 7. PySimpleGUIで画像処理ビューアーを作る
- 8. Python初心者がエナジードリンクあるあるをコード化してみた
- 9. Mcomixの画像キャシュ効率化
- 10. AWS Amazon Linux2 で Django 2.2以降の環境を構築する
- 11. Pythonを使ったDigest認証の設定@Lambda
- 12. (Django) django-extra-viewsのUpdateWithInlinesViewで、条件によってInline Formを変える
- 13. 円周率には全ての数字の組み合わせが現れるか?
- 14. 【Python】PyInstallerでExe化すると、No module named ‘pyproj.datadir’ が出るときの対処
- 15. KotlinでもPythonみたいに文字列操作したい!
- 16. Python3でBOM付UTF-8のCSV(Excelで直接読めるCSV)を出力する方法
- 17. ディープラーニング 服装の分類機 素材集め編_1
- 18. じゃんけん Python 入門
- 19. setParamをつかってOREMOきりたんになりたい!
- 20. Python Matplotlibの動作確認用コード
トラブったときに参照した記事一覧:Pytnon編
# この記事の目的
開発時にトラブってググったけど、再発時に忘れてるということが多いのでトラブルごとに解決に役立った記事をまとめておく
## DB接続
**カーソル処理をWith句でまとめる**
参照先:[Python+MySQL でコネクションやカーソルと with 文](https://qiita.com/umezawatakeshi/items/6c3483ea0e082f2d8926)“`python
from contextlib import closing
with closing(conn.cursor()) as cursor:
cursor.execute(“SELECT * FROM table”)
rows = cursor.fetchall()
…
“`
Macの仮想環境上でaws-cliが実行できない時の解決方法(python3.8インストール後)
## 経緯
pythonの仮想環境上で、aws-cliを使用しようと公式のコマンドを実行しようとしても上手くできなかったので、その解決方法の備忘録。
設定を色々いじってもダメだったので全部消してから再インストールしてみました。(2020/03)## 仕様
Macbook: MacOS Mojave
Python: Python 3.8.0## aws-cliをインストール
公式に従い、以下を実行“`
curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install
“`しかし、“`$ aws –version“` でバージョン確認したところエラー発生
> cannot execute binary file## デバッグ
色々試したものの、どれもうまくいかなかったので一度仕様してないファイルはきっちり消すため
“`$ rm ‘/usr/local/bin/aws’“`
“`$ r
Kaggle Titanic data set – Top 2% guide (Part 05) – Final
*本記事は @qualitia_cdevの中の一人、@nuwanさんに作成して頂きました。
*This article is written by @nuwan a member of @qualitia_cdev.##Part 05
####Model buildingThe article became so long. I will not be going into details of machine learning models and hyperparameter tuning in here since I spent so much time writing this article series. These article series guarantee more than 80% score in the leader board. I will include some drawbacks and tips to make better features to get past the score of 83%.
Our data frame
フィボナッチ数列(今更聞けない)
#はじめに
学部二年の時に動的計画法を学びました。
ただ、その知識も使わないとどんどん忘れていきます。
そんな基本的なところを踏まえているフィボナッチ数列に触れ、思い出すためにこちらの記事を書かせていただきます。# フィボナッチ数列
フィボナッチ数列とは“`math
\begin{align}
F_0 = 0 \quad \quad \quad \quad \quad \quad \quad \\
F_1 = 1 \quad \quad \quad \quad \quad \quad \quad \\
F_n = F_{n-1} + F_{n-2} \quad (n > 2)\\
\end{align}
“`
で表される数式です。こちらプログラミングで特にはどのようにすればよろしいのでしょうか。
##愚直に考える
“`fib.py
import timedef fib_stupid(n):
if(n == 0):
return 0
elif(n == 1):
return 1
else:
pythonのlambda式って・・・
デコレータとしても使えるのかよ
“`python
b = lambda func: lambda *args, **kwargs: (print(“a”), func(*args, **kwargs), print(“c”))@b
def a():
print(“b”)“`
おもろ
scipy.optimize.minimize を使ったGPS測位計算みたいな最適化計算の動作確認
ここでは、GPSなどの測位計算の基礎となっている計算を、scipy のOptimizer(最適化の計算を行うライブラリ) を使って計算してみます。
### 背景
おじさんは今まで、自分で目的関数を設定すると、それを解くための計算式は紙と鉛筆でしこしこ計算して導出していました。しかし昨今は、深層学習もそうであるように、計算式を自分で設定しなくても、データを与えたり、目的関数を与えるだけで最適化の計算をしてくれるライブラリが多く利用できます。ここでは、目的関数(誤差の関数)がわかっている場合の最適化を扱います。
実際に、ここでは目的関数“`objective“` を定義して、
“`python
def objective(x):
…
return val
“`
これを最小化する計算は、初期条件“`x0“`を与えれば、以下の一行で行えます。“`python
from scipy.optimize import minimize
result = minimize(objective, x0=x0, constraints=())
“`#
PySimpleGUIで画像処理ビューアーを作る
この記事を読んでできるものは以下の通りです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11002/bb62d6cd-a5f2-c66a-4f9f-a8b596587e37.png)
– 画像を選択して表示するビューアー
– パラメータを渡して画像処理を行う
– 画像処理した画像を表示するPySimPleGUIの基本的な説明に関しては、[Tkinterを使うのであればPySimpleGUIを使ってみたらという話](https://qiita.com/dario_okazaki/items/656de21cab5c81cabe59)を参考にしてください
# 検証環境
– windows10
– macOS(catalina)
– Python3.7
– ライブラリー
– tkinter
– PySimpleGUI
– Pillow# きっかけ
![image.png](https://qiita-image-store.s3.ap-northeas
Python初心者がエナジードリンクあるあるをコード化してみた
エナジードリンクは体への負担が大きいという事を伝えたい…
それだけのためにお題にしました。(クラスと呼び出しをファイル分けて書いていないのは許してください)“`python
import sysclass Monena:
def __init__(self):
self.physical = 50
self.mental = 50
self.destruction = False
self.physical_recovery = 0
self.mental_recovery = 0def status_check(self):
print(‘体力は’ + str(self.physical))
print(‘気力は’ + str(self.mental))if self.physical < 0 or self.mental < 0: self.destruction = True
Mcomixの画像キャシュ効率化
#はじめに
mcomixは漫画等が非常に読みやすいもののpython2であること、そして画像一時ファイルが/tmp以下に作られてしまいHDDアクセスが著しい。
そこで、python3ベースでforkしているmcomixに手を加えて画像キャシュの効率化を計った。#環境
Linux Mint 19.3(おそらく他のものでディストリビューションでも問題ない)
git
python 3以上
memory-tempfile2.3.2以上(公式web: https://pypi.org/project/memory-tempfile/)
他はgitのREADME.rst参照#ソースの取得
gitにてソースを自分の作業ディレクトリに移行する。https://github.com/mimaburao/mcomix3.git“`
$git clone https://github.com/mimaburao/mcomix3.git
“`#ライブラリのインストール
README.rstを参照して必要なライブラリをインストール後、memory-tempfileをインストールする。`
AWS Amazon Linux2 で Django 2.2以降の環境を構築する
# 概要
この記事は初心者の自分がRESTful なAPIとswiftでiPhone向けのクーポン配信サービスを開発した手順を順番に記事にしています。技術要素を1つずつ調べながら実装したため、とても遠回りな実装となっています。
前回の [Djangoで画像を配信できるwebAPIを作る](https://qiita.com/Ajyarimochi/items/b7278c357b2ffca183b5) で実装したAPIを外部のサーバへデプロイし、パグリックな環境からAPIを利用できる状態にします。
作業は
1. クラウドのインスタンスを立てて必要なソフトやパッケージをインストール
2. RestAPIのアプリをデプロイになります。この記事では「1. クラウドのインスタンスを立てて必要なソフトやパッケージをインストール」を纏めます。
### 構成
今回はAmazonのEC2を使うことにしました。OSはAmazon Linux 2 を選びました。構築に失敗したり環境が合わなかったらインスタンスごと作り直せば良いと考えたので、docker等のコンテナは使わず、OSに直接イ
Pythonを使ったDigest認証の設定@Lambda
# はじめに
Digest認証について検索してもほとんど情報がなかったので [Pythonを使ったBasic認証の設定@Lambda](https://qiita.com/ijufumi/items/7a141a6528a28f180fb1) の続編として書いてみた。
Digest認証自体ほとんど触ったことがなく、その仕組みを勉強するのも兼ねて。# コード
“`python
import os
import ctypes
import json
import base64
import time
import hashlib
import copy
from Crypto.Cipher import AESaccounts = [
{
“user”: “user1”,
“pass”: “pass1”
},
{
“user”: “user2”,
“pass”: “pass2”
}
]realm = “sample@test.com”
qop = “auth”
# Basi
(Django) django-extra-viewsのUpdateWithInlinesViewで、条件によってInline Formを変える
Djangoでインラインフォームを簡単に実装できる[django-extra-views](https://django-extra-views.readthedocs.io/en/latest/index.html)。
ただたインラインフォームを使うだけだったら、view.pyに
“`python
from extra_views import UpdateWithInlinesView, InlineFormSetFactoryclass PostUpdateInlineFormSet(InlineFormSetFactory):
model = Author
fields = (‘name’,)
factory_kwargs = {‘extra’: 0,’can_order’: False, ‘can_delete’: False}class PostUpdate(UpdateWithInlinesView):
model = Post
fields = (‘title’,)
template_name = ‘post/post_detail.html’
円周率には全ての数字の組み合わせが現れるか?
ふと気になったので検証してみた。
今回は“`math
\begin{align}
f(x) &= x桁の整数がすべて現れるような桁数
\end{align}
“`
として計算します。
例えば、f(x)=33というのは、(整数部を含め)小数第32位まで見ればすべての数字が表れるということを示しています。ある無理数において特定の数列が存在することを証明するのには観測するしかなく、観測するまでそれが存在するかどうかは分からないが観測した瞬間に特定の数列が無理数に存在することが示されるの、面白くないですか?ぼくは面白いと思います。例えば0が12桁連続で存在する場所だったり、直観に反していたとしても観測さえしてしまえば存在するのです。13桁連続で存在する場所はぼくは知らないのですが、存在するかもしれないと考えたらワクワクします。日本科学未来館とかでそんな感じの展示があった気がするけれど、最後に行ったのが小学生の頃なので詳細までは覚えてないです。
##検証コード
“`python
n = int(input())
with open(“pi-10oku.txt”) as f
【Python】PyInstallerでExe化すると、No module named ‘pyproj.datadir’ が出るときの対処
# 背景
Pythonファイルをコマンドプロンプト等から起動すると問題なく動いていた。
しかし、[PyInstaller](https://pypi.org/project/PyInstaller/)でExe化したファイルを実行すると、[pyproj](https://pypi.org/project/pyproj/)をインポートするところで、以下のエラーが送出され、プログラムが落ちてしまった。
> ModuleNotFoundError: No module named ‘pyproj.datadir’# 環境
+ Windows 10
+ Python 3.7.4
+ PyInstaller 3.6
+ pyproj 2.4.0# 対処法
specファイル内の、Analysis()のdatasにpyprojのパスを追加するとうまくいった。“`:.spec
a = Analysis([‘hoge.py’],
pathex=[‘C:\\workspace\\hoge\\src’],
binaries=[],
KotlinでもPythonみたいに文字列操作したい!
kotlinの文字列操作も便利だけどやっぱりPythonみたいに文字列操作したいなぁ
というわけで、kotlinでもPythonと同等の文字列操作ができるようになるライブラリを作りました。
## ktPyString
https://github.com/ChanTsune/ktPyStringStringに対して拡張関数を定義することで、kotlinでもpythonみたいな文字列操作ができるようにしています。
## 導入
### Gradle
“`groovy:build.gradle
dependencies {
implementation fileTree(dir: ‘libs’, include: [‘*.jar’])
implementation”org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version”
implementation ‘dev.tsune:ktPyString:0.0.0’
implementation ‘androidx.appcompat:
Python3でBOM付UTF-8のCSV(Excelで直接読めるCSV)を出力する方法
CSVファイルを文字コード UTF-8で作ると
Excelで読み込んだ時に文字化けする。
文字化けさせないためには先頭にBOMを付ける必要がある。“`bom.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-import sys
# BOMを出力する
sys.stdout.buffer.write(b’\xEF\xBB\xBF’)
# CSVを出力する
print (‘ID,名前’)
print (‘1,山田’)
print (‘2,田中’)
print (‘3,坂本’)
“`
これで“`
./bom.py > excel.csv
“`と実行するとExcelで文字化けしないCSVファイル(excel.csv)が生成される。
ディープラーニング 服装の分類機 素材集め編_1
#【概要】
大目標として、女性服の分類機を作成します。
今回はディープラーニングを行うための素材を集めるための手法について簡単に記述します。#【目標】
ネットで画像を取得する#【環境】
Windows10
google crome (ブラウザ)
python3.6
selenium (pythonライブラリ)#webスクレイピングについて
###知っておくべきこと
webスクレイピングは用法容量を守らないと大変なことになります。
webサイトの規約に違反する場合や相手サーバへ負荷をかけてしまう場合は違法となります。
またスクレイピングで取得したモノの扱い方も注意しましょう。肖像権、著作権など知らなければいけないことは山ほどあります。頑張りましょう。これらについては自分で時間をかけて調査して、健全なスクレイピングを行ってください。
# Python + Selenium
私がスクレイピングにセレニウムを利用する理由はjsで動的に生成されるサイトにも対応できるからです。requestsなんかでもweb探索は可能ですができないことが多く感じたためライブラリを変更しました。
じゃんけん Python 入門
# 簡単なじゃんけんアプリを作る
### 概要
じゃんけんの3つの要素 グー, チョキ, パー をランダムに出力する“`python
import random
janken = [“グー”, “チョキ”, “パー”]
num = len(janken)
print(num)
print(janken[random.randrange(num)])
“`“`
>>> グー
>>> グー
>>> パー
“`
setParamをつかってOREMOきりたんになりたい!
# setParamをつかってOREMOきりたんになりたい!
はじめまして、くれいじーです。
Pythonで oto2lab ってツールを作った(**[GitHub](https://github.com/oatsu-gh/oto2lab)**)ので紹介します。## 注意
– きりたんにはなれません。
– [OREMO](http://nwp8861.web.fc2.com/soft/oremo/index.html) は使いません。
– 歌唱DB作成にあたり、**著作権法**に決して違反してはなりません。
– 歌唱DBを配布しても歌唱ソフトに採用される可能性は**極めて低い**です。## 要点
– [NEUTRINO](https://n3utrino.work/) と [東北きりたん歌唱データベース](https://zunko.jp/kiridev/login.php) が 2020年2月に話題になった。
– [setParam](http://nwp8861.web.fc2.com/soft/setParam/index.html) を使って個人が歌唱データをラベリ
Python Matplotlibの動作確認用コード
手早く手元でmatplotlibの動作確認をしたいとき向けの短いコード
## サンプルコード
“`python:sample
import matplotlib.pyplot as pltplt.plot([1,2,10,18,19,20])
plt.show()
“`
## 結果![Figure_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126628/fab8befb-36ee-0ff2-c74d-d2605a156a9a.png)