Python3関連のことを調べてみた2020年03月18日

Python3関連のことを調べてみた2020年03月18日

トラブったときに参照した記事一覧: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 building

The 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 time

def 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 sys

class Monena:
def __init__(self):
self.physical = 50
self.mental = 50
self.destruction = False
self.physical_recovery = 0
self.mental_recovery = 0

def 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 AES

accounts = [
{
“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, InlineFormSetFactory

class 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/ktPyString

Stringに対して拡張関数を定義することで、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 plt

plt.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)

元記事を表示

OTHERカテゴリの最新記事