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

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

f10: さくらインターネット + python3 (-bash: python3: command not found)

.

さくらインターネット
さくらのレンタルサーバー
スタンダードプラン
では、
FreeBSD + python2.x が標準構成 (2020/05/10 現在) で
各みなさまが、python3 を導入している記事が色々あり、
あえて記事にすることではないのですが、
それでもつまづいた部分をメモします


##### **[ 参考にさせていただきましたページ ]**

さくらのレンタルサーバスタンダードに python3 で pip3 したメモ
https://qiita.com/EmikoKishi/items/efbf94bb67c3f75e9741

さくらインターネットのレンタルサーバにPython3.6.8をインストール

さくらインターネットのレンタルサーバにPython3.6.8をインストール


##### **[ 上記を参考に、python 3.8.2 を導入 ]**

check version
https://www.python.org/ftp/python/
https://www.python.org/ftp/python/3.8.2/Python-3.8.2.

元記事を表示

logging+python-daemon でログがうまく出力されない

タイトルの状況で数時間悩んだのと、そのものずばりな日本語記事がなかった?のでメモしておきます。
※プログラム内で`logging`を設定していますが、この辺の使い方もいまいち理解しきれてないのでスタンダードな設定ではないかもしれません……。

# 環境

– CentOS 7
– Python 3.6

# 登場人物(?)

– logging:ログをいい感じに取れるやつ。標準モジュール
– daemon:プログラムをデーモン化(バックグラウンドでプロセスを動かす)してくれるやつ。使いたいときは`pip install python-daemon`する

# 発端
`logging`を設定したプログラムを書いていたところ、

“` python:main.py
import logging
import logging.config
import time
from datetime import datetime

logging.config.dictConfig({
“version”: 1,
“formatters”: {
“customFor

元記事を表示

VScode+Python(autopep8,flake8)+conda

# pipenvの記事ではありません。
2020年にもなってなぜcondaなのか。それは困っていなから。遅延評価。

## Visual Studio Code にPython環境構築
主に重要なのは以下の3つ

* autopep8によるコーディング規約
* flake8によるコードフォーマット
* condaによる実行環境構築(仮想環境へのpath)

## condaに パッケージインポート
conda環境構築の話は割愛

### TLTR
これでよい。

“`
conda install -c anaconda flake8 autopep8
“`

### conda installでよくあるエラー

“`
~  conda install flask8 autopep8 (py_38)
Collecting

元記事を表示

【python】実践BeautifulSoup ~ 競艇の公式サイトで三連単オッズ表をスクレイピング~

# 目的
データ収集ってめんどくさいよね.
将来的に競艇の分析とかしてみたいなぁって思ったので,データ収集の練習として[競艇公式サイトのオッズ表](https://www.boatrace.jp/owpc/pc/race/odds3t?rno=12&jcd=02&hd=20200511)をスクレイプします.

# 概要

– スクレイピングにあたって便利そうな言語=pythonしか思いつかないのでpython3.7を使う.
– python3.7にはbeatutiful soupっていう~~ちょっとエロそうな~~名前のライブラリがスクレイピングでは便利らしい
– beautifulsoupのcssセレクタを使うことで,いちいちhtmlを解読しなくてもテーブルの場所を特定できる!
– ブラウザに装備されている検証ツールを利用してCSSセレクタをコピーする(楽ちん)
– 実践beautifulsoupなので,メソッドの細かな解説はしない(他にいい記事がたくさんある!)
– 頑張って三連単テーブルの情報を抜いて,今回は辞書型に納める

### スクレイピングしたいものと出力方法

元記事を表示

Pythonのデータ構造と内部実装 〜List編〜

# はじめに
Qiitaはよく利用するんですが、なにげ初投稿です!はじめまして!

Pythonの有益な記事はたくさんありますが、あまりPythonの内部の実装に触れてる記事は少ない印象なので、いろんなデータ構造の解説を内部実装と絡めてできたらいいなーっていうモチベーションです。
今回はPythonのlistについて書きます。

### 本記事について

Pythonのlistの仕組みについて書いた記事です。
けどリストの全てのメソッドについてどう動いてるとか書くのは無理なので主に

– リストってどういうデータ構造?配列じゃないの?
– リスト型の内部の実装はどうなっているの?
– 可変長配列って何?どういう規則でサイズ変えてるの?

などの疑問を解消できるような記事を書きました。

※実行環境のPythonのVersion: 3.8.0
※この記事の「Python」とは「CPython」のことを指しています。

### 対象読者
– 上記の疑問を持っている人
– Python入門本やチュートリアル等を読んでもう少し詳しく知りたい人
– 詳しく知りたいが公式ドキュメントとかcpyt

元記事を表示

AtCoderで水色になった@Python

#注意
あまり真面目に書くつもりはありません

#自己紹介
Twitter https://twitter.com/efunyo
競プロを始めたのは今年の2月からで、言語はPythonのみ。
数学に関して、受験数学という枠組みの中では好きでした。

#はじめに
なった
![5f28c36b859e64da288f831b3c373e17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404681/516e4c14-1e3e-d50a-5c3b-8a8520db1bc9.png)

成績はこんな感じ 企業コンやunratedがアレだった
![4e2738d5689f2f20dc9a5519bafd03ec.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404681/d33c55f1-ee86-8ed2-a5cb-acef9274506f.png)

#やったこと
5月12日時点
![c098287ecd0da37ca39

元記事を表示

Pythonひよっこが『言語処理100本ノック 2020』に挑戦【00-05】

Pythonひよっこのわたしが、『言語処理100本ノック 2020』の第1章の前半部分に挑戦してみました。
一般の方が公開されている解答と比べながら、1問ずつ学んだことなどをまとめていきたいと思います。

#わたしのこと
大学の授業でC言語(の基礎)を1年半学びました。
Pythonも一部の授業で触れましたが、細かい文法などを学んだのはここ1ヶ月くらいです。
独学で(C言語とちがうところを中心に)基本的な文法を学び、paizaの『レベルアップ問題集』を解いて実装力(?)を高めました。
*詳しいことはブログで書いています: [【Python】paizaのレベルアップ問題集をやってみた!](https://tulip-rabbit.hatenablog.com)
そんなPythonひよっこが、Pythonの練習もかねて言語処理100本ノックに挑戦してみました!

#第1章:準備運動
##00.文字列の逆順
“`python
#00.
text=”stressed”
print(text[::-1])
“`
リストのスライスを使います。
3つめの引数(?)stepを -1 にすることで後

元記事を表示

ABC167 Dをダブリングで解いた(Python)

#ダブリングとは
本番ではABC167Dの問題を周期性を利用して解いたがダブリングでも解けるらしいので、Pythonでダブリング書いてみました。ダブリング自体初めて知りました。
ダブリングはdoublingというテーブルを用意してdoubling[i]に2^i移動した時のインデックスをn個分格納するというもの。
今回の場合、kが10^18なのに計算量が間に合うのはすごい。
#コード
“`python
n, k = list(map(int, input().split()))
a = [i – 1 for i in list(map(int, input().split()))]
logk = k.bit_length()
doubling = [[-1 for _ in range(n)] for _ in range(logk)]
for i in range(n):
doubling[0][i] = a[i]
for i in range(1,

元記事を表示

【競馬】競走馬の強さを数値化してみた

こんにちは、アオキ([@aoki_eng](https://twitter.com/aoki_eng))です。
今回、競馬における競走馬の強さを数値化してみたので、この記事にまとめます。

githubはこちらです(https://github.com/katsuomi/keiba-BTmodel)

# はじめに
僕は競馬が大好きです。
毎週末、重賞レースと呼ばれる大きなレースは全てテレビで観ていて、少額ですがお金も賭けています。

そこで、よく競争馬の過去のレース結果を見るのですが、その馬がどれくらい強いのか具体的に分からないなと感じていました。
例えば、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/270696/a0d3450b-08eb-91de-5bba-9149e25764f4.png)
この馬はどれくらい強いでしょうか?
1着になっているレースがまぁまぁ多く、そこそこ強そうですね!

この馬はどうでしょうか?
![image.png](https://qiita-imag

元記事を表示

ゼロから始めるLeetCode Day23「226. Invert Binary Tree」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day22「141. Linked List Cycle」](https://qiita.com/KueharX/items/20f411ebf1c53cff2208)

基本的にeasyのacceptanceが高い順から解いていこうかと思います

元記事を表示

EC2へのSSH接続をPythonからする方法

## 1.はじめに

複数EC2インスタンスを立ち上げているときのEC2の管理って皆さんどうされていますか?
私はAWSを数ヶ月前から勉強し始めましたが知識が乏しく、SSH接続する際にまずマネジメントコンソールにアクセスしてEC2インスタンスのIPアドレスを控えておき停止/起動するたびアドレスを控え直していました。
(かなり効率が悪いとは思いつつもそれ以外の方法を思いつかなかっので・・・)

ElasticIPを使うことでアドレスを固定化することはできますが、停止しているインスタンスに設定していると僅かながら料金が発生してしまうため基本的には利用していませんでした。

本記事では私がこの面倒くさい管理方法を卒業した話をまとめて行こうと思います!!

## 2.動作環境

– OS:macOS Catalina 10.15.3
– Python 3.8.1

勉強用に2つのEC2インスタンスを起動中
– web-1a
– aws-ec2
(Nameというタグを設定しEC2を識別できるようにしています)
![EC2インスタンスの情報.png](https://qiita-image-st

元記事を表示

素数判定アルゴリズム

#はじめに
今回は素数かどうかを判定するアルゴリズムをpythonを用いて行おうと思います。
素数の定義ですが、簡単に言えば以下のようになります。
**「素数とは、1とその数自身以外に正の約数を持たない、1より大きい整数」**
この定義を元にして、いくつかの素数判定アルゴリズムを実装してみたいと思います。
[素数(Wikipedia)](https://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0)

## P1:一番シンプルな実装方法
素数の定義から単純に考えると、1とその数自身以外で割り切れないことを確認すれば、素数かどうかを判定できます。つまり、1 から n まで順々に素数かどうか判定すればよいというわけです。

– n を判定したい数とする
– 2 から n – 1 までで n を割ってみる
– もしどこかで割り切れたら n は合成数
– 最後まで割り切れなかったら n は素数

“`python
# 一番シンプルな方法
def judge_prime_num_p1(int_num):
for i in range(2, i

元記事を表示

PythonでSSH経由し外部のMySQLデータベースを操作してみる

ローカルで外部のデータベースを操作したい時に、いつもSequel proなどのツールでSQL文を実行するようにしていますが、動的にSQL文を作成したいや結果確認も一気にやりたい時になると、少し不便かなーと感じています。
Pythonを使ってみたらどうかなと思い、かつ最近もJupyterを試してみたいので、今回はJupyterを使って、SSH経由でMySQLデータベースを操作してみまして、その方法をメモしました。

## やりたいこと
– 踏み台(bastion)経由してMySQL DBに接続する
– 更新対象のレコードを抽出し、更新SQL文を動的に作成する
– データ更新を行い、進捗を表示する
– 確認しやすくため、更新されたレコードの更新前の情報を保持する

## 環境
今回は、
PC:MacBook pro
OS:macOS 10.15.2
Jupyter(python3)で試してみました。

## 実装
流れとしては

– 必要なmoduleを用意
– 検索関数、更新関数、進捗表示関数の作成
– 各関数の実行
– 結果の表示

### 必要なmoduleを用意
まず、必要なmod

元記事を表示

【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第1回目))

### 【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第1回目))
ほぼ、備忘録

**サンプルデータで止まっている人向け、statsmodels(OLS)入門**

statsmodelsで回帰のサンプルをやってみて、自分で作ったデータで止まっている人向けの入門記事です。

最近、データの予測をはじめまして、時系列の分析としてfacebookのprophetは、やってみたところ、用意したデータも少なく、精度はまだ未知数ですが、ともかくひとまず動きました。基本だと思われるstatsmodelsやsklearnで回帰を始めたところ、自分でデータを作ったところで、エラー等が出て止まっておりました。

statsmodelsの公式サイトを見たり、色々なサイトを参考にして、少しずつ進めていったところ、なんとかほぼ想定どおり動いたようです。

モデル適用のところで、渡すデータで止まっていました。
自作のデータで、なんとか想定に近い動きになった為、投稿したいと思います。

このスクリプトで想定しているケースは、架空

元記事を表示

ラズパイで在室・不在・WEB会議中の表示とメッセージの録画等を行う

##はじめに
私の教授の勧めでテックブログを書いてみることになりました。
そこで、私の教授のアイデアをお借りして、教授室のドアに設置して自動的に在室かどうかとweb会議中かどうかを訪問者に教えるものを作成しました。

##環境
・Rspberry pi 4 Model B
・MicroSDカード
・ディスプレイ
・PiNoir カメラモジュール V2
・MINI Microphone (USBマイク)
・作業PC
・Hibeacon mini (ビーコン)

##作業の流れ
・GUIの作成
・BLEの検出
・音声付きの動画を録画
・google driveへ動画を送信
・slackへの通知
・google calendarと連携
各作業の終わりに参考URLを記しています。

##システム構成
・システム構成図
![在室管理のシステム構成図.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277131/83a26ae9-b9f6-62bb-f37d-50f8149972ae.jpeg)

##1.GUIの作

元記事を表示

【python3】pandas で平均と共分散行列をjson に保存

### 前書き

いつもエイや!でコードを書いていて平均と共分散を出力するのも何度も行っているのですが、メモしておきます。本当に中身は単純です。ひねりはありません。すみません。

状況:pandas データがあり、特定のデータX,Y,Z についての平均と共分散を求めたい

### 方針

1. x,y,z のみを含むDataFrame を作成する
2. 作成したDataFrame の平均と共分散を求める。
3. json ファイルに出力する。

### 実装

ポイントは、
– DataFrame でデータ名を指定して抽出するには、“`.loc“`を使います。
– DataFrame には mean() も cov() も corr() もあり、出力はDataFrame だったりするので、values でndarray を参照します。
– 辞書にlist として登録するには、ndarray のtolist() を利用できます。

“`python
from pandas import DataFrame
from numpy import random
import json

元記事を表示

ゼロから始めるLeetCode Day22「141. Linked List Cycle」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day21 「448. Find All Numbers Disappeared in an Array」](https://qiita.com/KueharX/items/7ced157c3a103b0e39e0)

基本的にeasyのacce

元記事を表示

python3とFlaskでフロント実装の動作確認用APIサーバ構築

###概要
フロントの動作確認様に、WebAPIサーバをpython3で構築する。
その備考録

###前提
インストール済み

“`
>$ python3 –version
Python 3.7.7
“`

###Flaskのインストール

“`
$ python3 -m pip install Flask
Collecting Flask
Downloading Flask-1.1.2-py2.py3-none-any.whl (94 kB)
|████████████████████████████████| 94 kB 792 kB/s
Collecting Jinja2>=2.10.1
Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
|████████████████████████████████| 125 kB 6.5 MB/s
Collecting Werkzeug>=0.15
Downloading Werkzeug-1.0.1-py2.py3-none-a

元記事を表示

複数のPython バージョンをupdate-alternativesで管理する (Ubuntu)

サードパーティーのライブラリを使い分ける必要があり、以下のことを達成したい。

– (1) 複数のPythonバージョンを使い分けたい(Python 2.7, 3.6, 3.8など)
– (2) Pythonバージョンごとにnumpy等のメインとなる(プロジェクト同士で共有されるような)ライブラリを別々にインストールしたい。
– (3) Pythonバージョン内で、プロジェクトごとにPython環境を作りたい。

(同時進行しているプロジェクトに悪影響を出さないために、VirtualBoxを用いてMac上でUbuntuを動かし、実験しながら上記の目標を達成したい。)

その第1段階として、(1) (2)を行います。

# (0) 環境
– Ubuntu 20.04 (Mac上でVirtualBox6.1を利用)

# (1) 複数のPythonバージョンを使い分ける(Python 2.7, 3.6, 3.8など)

“`bash

$ sudo apt update && apt upgrade -y

$ sudo apt-get install build-essential

元記事を表示

ズンドコキヨシが停止するまでの平均ズンドコ回数について

#概要
ズンドコキヨシにおいて、平均何回ズンまたはドコをプリントしたら「キ・ヨ・シ!」に到るかについて、初等的な算出法が見当たらなかったので今更ながら記事にしました。

高校数学までの範囲で理解できる内容になっていると思います。

どういうプログラムだったか最早忘れたという方はズンドコキヨシまとめをご参照ください。

OTHERカテゴリの最新記事