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

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

Python(+ Flask)でMattermostのBot作った

# 注意
下書きに保存したまま、9か月ほど記事が眠っていたので、情報が古い箇所があるかもしれません。。。
せっかく書いたので供養のためにも投稿します。。

# 背景
社内のコミュニケーションツールをMattermostに移行することになった。
既存のBotをMattermostに移行できたらいいなーと思ったので、
自分自身の勉強も兼ねてPythonでMattermost用にBotを再実装[^1]してみた。
Botを実装するに当たって色々と調べまわったので、自分のためにも情報をまとめておく。

# 環境
– CentOS 7.7 (Mattermostサーバ)
– Ubuntu 18.04 LTS (Botサーバ)
– Mattermost 5.14.0
– Python 3.6.8

なんとなくCentOSとUbuntuの両方が触りたい気分だったのと、
Ubuntu 18.04はデフォルトでPython3が入っているので使ってみた。
要するに特に意味はないです。

# 環境構築
#### Mattermostの導入
MattermostはDockerで簡単に導入できるので、まずDock

元記事を表示

matplotlibにて折れ線グラフを作成しようとした所起こった現象についての考察

##起こった現象
###matplotlibで折れ線グラフ形式でプロットした所、0のラインにアンダーの線が発生した。
データの内容
①ある店舗の売り上げ個数
②2013年1月から1ヶ月ごと0、1、2、3・・・続き最終的に2015年10月を3とする
##プロットした結果
![date and sold.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654850/a2d0510a-7ec7-2c73-fad9-d0193b4891f5.png)

#考察
x軸は、②
Y軸は、①を示している。

折れ線グラフ作成をもとに考察すると、売り上げ個数としてカウントする際には考えられない、小数点第一位までグラフにプロットされていることがわかる。無論、売り上げ個数としてカウントする際に小数点第一位まで出てくることはありえない(一つの製品を半分にして販売されることはないため)

##自分なりの理想の形から考えてみる

![スクリーンショット 2020-09-03 22.36.14.png](https://qiita-i

元記事を表示

Docker-syncが急に動かなくなった時の対策

取り急ぎこれで解決した模様

“`
brew reinstall unox
“`

きっかけ不明、、、

詳細に知見がある方、ご教授いただけましたら幸いです、、、

https://docker-sync.readthedocs.io/en/latest/getting-started/installation.html

元記事を表示

DiscordBotでヒットアンドブロー

今回はPythonのDiscord.pyを使ってNintendoSwitchの「世界のアソビ大全」にもある、「ヒットアンドブロー」というゲームのBotを作ってみた
[ヒットアンドブローとは](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%9E%E3%82%A4%E3%83%B3%E3%83%89)

#流れ
##[DEVELOPER PORTAL](https://discord.com/developers/applications/) から、新しいアプリケーションを作成
これについては、[この記事](https://qiita.com/1ntegrale9/items/cb285053f2fa5d0cccdf)でとても詳しく書かれているので割愛

## プログラムを作成

まずプログラムはこちら

“`Python3:main.py
# インストールした discord.py を読み込む
import discord
from discord.ext import commands

元記事を表示

scikit-learn の使い方

次の記事と同じことを scikit-learn 0.23.1 で行いました。
[機械学習のライブラリ!scikit-learnとは【初心者向け】](https://techacademy.jp/magazine/17375)

使ったバージョン

“`text
$ python
Python 3.8.5 (default, Jul 27 2020, 08:42:51)
[GCC 10.1.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import sklearn
>>> print(sklearn.__version__)
0.23.1
>>>
“`

データの確認

“`py:show_data.py
#! /usr/bin/python
#
# show_data.py
#
# Sep/03/2020
#
from sklearn import datasets
import matplotlib.pyplot as plt

digit

元記事を表示

【Python】openCVで日本語の文字を扱う方法

毎回使う時に調べているので
備忘録として残します。

“`ruby:
image = cv2.puttext(image,”ハローワールド”, (0, 0), ‘<フォントのパス>‘, 10, (0, 0, 0),2,False)
“`
引数
  画像、文字列、描写する座標、フォントのパス、文字のサイズ、文字の色、文字の太さ、画像の原点の位置(Trueが左下Falseが左上)

そのままでは日本語が表示出来ない理由は、
CV2にはデフォルトではマルチバイト文字に対応していないため。

つまり、日本語のフォントを指定してやる事により画像に日本語を描画する事が出来ます。

元記事を表示

kabuステーション®APIをPythonから使う

# 概要

auカブコム証券が個人に提供するkabuステーションAPIをPythonから利用する。
なお、kabuステーションはインストール済みのものとする。

# 環境

– Windows 10
– Python 3.8.5 ( Microsoft Store からインストール )

# 追加パッケージ

– requests
– pyyaml

# コード

以下では、取引余力の取得、残高の表示、注文の表示を行っている。

“`python
import json
import requests
import yaml

# —

def get_token(): # トークンを取得する。取得する度・またはkabuステーション再起動の度に変わる。
with open(‘auth.yaml’, ‘r’) as yml:
auth = yaml.safe_load(yml)

url = ‘http://localhost:18080/kabusapi/token’
headers = {‘content-type’: ‘applica

元記事を表示

micropythonとPython3の相違点

## 概要
少しずつ更新。
Python3とmicropythonでプログラミングする上で
困った点・解決した点を下記に記載。

### 比較前提
– Python 3.7
– micropython 1.1.2

### 相違点
– FTPライブラリが使えない
– micropythonではFTPLibが標準では使えない。
– SpotlightKid氏の[micropython-ftplib](https://github.com/SpotlightKid/micropython-ftplib)を使用する
– zfillが使えない
– 0パディングでよく使用するzfillがmicropythonでは使用できない
– zfill関数を実装する

“`
def zfill(s, width):
if len(s) < width: return ("0" * (width - len(s))) + s else:

元記事を表示

HP Z2 Mini G4に、Ubuntu 20.4をインストールして、Python DockerでDeep Learning環境を作ったメモ

HP Z2 Mini G4を手に入れたのでSetUpしたときのメモ

マシン: HP Z2 Mini G4 Workstation
CPU: Intel(R) Xeon(R) E-2224G CPU @ 3.50GHz
RAM: 32GB
GPU: NVIDIA Quadro P600
GPU: インテル® HD グラフィックス P630(CPU内蔵)
OSは:

“`
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION=”Ubuntu 20.04.1 LTS”
“`

### OSインストール
結局、最新版のUbuntu 20.04.1 LTS をインストールしました。
次に、openssh-server, openssh-clientをインストールしました。
このインストール前に、アップグレードしておかないとインストールできません、最新版入れてるのにといつも思います。

“`
$ sudo apt update
$

元記事を表示

Django Webアプリ作成

#プロジェクトを作成し、開発用サーバーを立ち上げるまで
Django勉強の備忘録
前提:python,Djangoインストール済み

##Djangoがインストールされているか確認する
Djangoのバージョンがわかります
存在しなければ**”No module named django”**と表示されます

“`
$ python -m django –version
3.1.1
“`

##プロジェクトを作成する

“`
$ django-admin startproject myproject
“`
myprojectディレクトリ配下に以下のディレクトリとファイルが作成される

“`
myproject/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
“`

##開発用サーバーを起動する
“`
$ python manage.py runserver
Watching for fil

元記事を表示

等角写像とは何なのか教えてパイソン!

##まえがき

大学院受験の勉強してたら電磁気の教科書に「**等角写像**」なる概念が書いていた。
どうやら電位のラプラス方程式を解くために導入されたものであるが、僕は式で理解するのは甘い卵焼きと同じくらい苦手なのでパイソン様に教えてもらうことにした。
数学、物理、Python全てにおいてへっぽこ丸なので恐竜の赤ちゃんを見るドラちゃんくらい温かい目で見てください。
##目次
1.複素関数とは
2.等角写像とは
3.等角写像をPythonで
4.まとめ

##1.複素関数とは
まずこの知識が怪しかったのでwiki君に聞いてみた。
[複素解析(wikipediaのページ)](https://ja.wikipedia.org/wiki/%E8%A4%87%E7%B4%A0%E8%A7%A3%E6%9E%90)
巷では話好きで有名である彼であるが、要領を得ないとも聞く。
実際よく分からない。
習ったはずなんだけどなぁ

僕の拙い知識を述べると、複素関数とは二次元平面上の点を**複素数**を使って表す分野。と思う。

「二次元平面上の点を指定するだけならベクトルでも構わないが、複素関数ではひとつ

元記事を表示

環境構築(python)

# はじめに
Pythonを使うにあたり環境構築してみました。
# 環境
・Windows10
・vs code
・Python3
# 手順

##pythonのセットアップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693075/cf4458cb-55e3-81ad-1325-e0259e50a0aa.png)

□Add Python 3.8 to PATH
↑これに✓入れるの忘れないでください。
あとは`Install`するだけ…と思いきや、ここで壁にぶつかりました。

## はまりポイント

インストール場所をデフォルトのまま(AppData)でするとPythonが動かない。

初期インストール場所
`C:\Users\horita\AppData\Local\Programs\python`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693075/ad7a037d-0b0

元記事を表示

文書の特徴タグの自動生成【Python】

#概要
[pixivコミック作品のタグが自動生成されるまでの軌跡](https://inside.pixiv.blog/pawa/2349)を参考に、文書から重要語をタグとして抽出するpythonプログラムを書きました。

#環境
macOS Catalina 10.15.4
python 3.8.0
また下記コードで明には指定していませんが、MeCabの辞書にはmecab-ipadic-neologdを使用しています

#コード

“`Python
import MeCab
import mojimoji
import math
import json
import pandas as pd
import re

#文書集合
#一要素一文書として、文書のリストを作ってください。ここでは例として自分の過去記事から適当に抜粋した文章を使っています。
documents = [
‘MeCabとPythonで日本語の発音をカナで取得する関数を作りました。例えば、「今日はよく寝ました」と入力したら「キョーワヨクネマシタ」と返すようなものです。’,
‘日本語(カタカナ文字列)をモーラ

元記事を表示

ゆっくりに青空文庫を読んでもらう: 改善編

[前回](https://qiita.com/Mechanetai/items/f3e1b58f8c5549e2f31b)はゆっくり(SofTalk)に辞書登録しつつ読み上げさせることに成功しました
今回は、勉強のために公式ドキュメントや関連する記事を読みつつ、前回のコードを改善していきます

# 図書カードからURL取得まで

### 改善したコード

“`python:aozora_urlsplit.py
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

def aozoraurl(base_url):
page = requests.get(base_url)
soup = BeautifulSoup(page.text, ‘lxml’)

xhtml_relative_url = soup.select(‘table.download a[href*=”.html”]’)[0].get(‘href’)
zipdl_relative_ur

元記事を表示

KivyでSFライクなボタンを作る

# 完成したもの
Kivyで画像などを使わずにSFっぽいボタン作れないかなと思って作った。
結果こんな感じのボタンができました。
![SFButton.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483769/0460ada4-b99b-5e4b-df88-bde033214df3.jpeg)

# というわけで作ってみた
方針は単純で、ボタンのキャンバスに枠を二つ作ることで実現します。
main.pyとtest.kvを同階層において実行すれば最初の画像のようになります。

“` main.py
from kivy.app import App
from kivy.factory import Factory

class TestApp(App):
def __init__(self, **kwargs):
super(TestApp, self).__init__(**kwargs)

def build(self):
self.r

元記事を表示

Python製Qiita APIラッパー「qiipy」作った

## TL;DR

– QiitaのAPIラッパーライブラリ「[qiipy](https://github.com/sh1ma/qiipy)」を作りました
– 未完成です
– 自作のライブラリ「[apywrapper](https://github.com/sh1ma/apywrapper)」で簡単にAPIラッパーライブラリ開発できます
– __【重要】貢献者募集してます!!!!OSS貢献したい方ぜひ【重要】__(記事の最後に協力して欲しい事書いてます)

## qiipy(きーぱい)作りました

### なぜ作ったか?

この前[apywrapper](https://github.com/sh1ma/apywrapper)っていうAPIラッパーを簡単に開発できるライブラリを自作したんで、その威力を試したかった

### 開発環境

– Python 3.8.5
– VSCode
– Git
– Github
– Poetry(パッケージマネージャ)
– black(フォーマッタ)
– pylint(リンタ)

### 依存

– apywrapper 0.1.4

## どんなコー

元記事を表示

dlibで鳴子を認識させるまで{機械学習教師あり}。

dlibで鳴子を認識させるまで{機械学習教師あり}。
参考にしたサイト:
https://qiita.com/m-hayashi/items/fc30ca4cda5c0904cc03
https://dev.startialab.blog/python/a28

ソースコードはほぼ似ているので上記を参考にすれば上手く動くかと思います。
尚、dlibのインストール時に怒られたので

“`
yum install cmake
“`
行いました、その他ついでに

“`
yum install make
“`
も入れておけば良いかなと個人的には思いました。
尚、機械学習させる場合はpipでインストールするとimglabが入っていないので
dlibを公式サイトからダウンロードしビルドしないといけないです(imglabも忘れずに)。

今回、鳴子を認識させるモデルをサイトにzipファイルで置いときますのでご自由に使用ください。
静止画なら何とか認識させる事ができます。ただし正面からの鳴子に限りますが?

zipファイルは下記になります。
http://taoka-toshiaki.com/

元記事を表示

pyenvでインストールしたpythonでtkinterがimportできなかった時。

# 概要
PySimpleGuiを使おうとしたところ`_tkinter`というモジュールがありませんと言われてから解決するまでの流れ

## 環境
– macOS 10.14.6(18G87)
– pyenv(anyenv)
– python 3.8.5
– venv

## ModuleNotFoundError: No module named ‘_tkinter’

`_tkinter`とは?
– UnixのWindowでアプリケーションを作るための何か
– (後日ちゃんと調べて更新)

この質問を参考にしてpythonを再インストール
[[stack overflow] Unable to install tkinter with pyenv Pythons on MacOS](https://stackoverflow.com/questions/60469202/unable-to-install-tkinter-with-pyenv-pythons-on-macos)

“`bash:issue
$ python -m tkinter
Traceback (most r

元記事を表示

enumerate関数について(python)

#1.はじめに
こんにちは!!今回はpythonのenumerate関数について記事を書きたいと思います。
enumerate関数を使用すると、forループの中でリストやタプルの要素と順番を取得できます。要するにリストやタプルの中身とその順番の番号を返してくれるという関数になっています。
enumerate関数を使用するとコードを簡略化でき、直感的に理解できるかと思います。
それでは、簡単な問題をenumerate関数を扱う場合と扱わない場合で解いてみようと思います。
#2.問題
研究室で定期発表会があります。発表の順番はこの用意されている名簿(配列)の順に行きたいと思います。ですがこの名簿には順番が書かれていないので直感的にわかりません。なので名前と発表の順番を出力してください。

このような問題を解いてみましょう。
#3.enumerate関数を扱わない場合
enumerate関数を扱わない場合はこのようなコードになります。

“`enumerate.py
publicator = [“haruto”,”sota”,”minato”,”yuto”,”riku”,”mei”]
nu

元記事を表示

パソコンに保存されているファイルをpythonで読み込む

コンペに参加した際、pythonでcsvデータ(私の場合はExcelデータ)を読み込み、ファイルを開くのに苦労したのでメモを残しておきます。

環境:windows10, anaconda, jupyternotebook

まずは読み込みたいをデータのパスをPC上で確認します。
*パスとは”データがある場所”を示す文字列です。パソコン内における住所的なもの。

1.読み込みたいデータが入っているフォルダを開く

2.読み込みたいデータにカーソルを合わせ、右クリック

3.プロパティをクリック

4.左上の全般を押し、場所を確認。私の場合だと 場所:C:\Users\ユーザー名\Desktop\ファイル名1\ファイル名2\ファイル名3\ファイル名4\ファイル名5
注: \は¥という風に記述されている場合もあります。C:も、人によっては異なるアルファベットでしょう。またファイル名1,2,3…の数は人によって異なります。

5.パスを、C:は無視して、\Users\ユーザー名\Desktop\ファイル名1\ファイル名2\ファイル名3\ファイル名4\ファイル名5\読み込みたいデータのファ

元記事を表示

OTHERカテゴリの最新記事