Python関連のことを調べてみた2022年01月04日

Python関連のことを調べてみた2022年01月04日

バックエンドに『FastAPI』、フロントエンドに『Vue.js』を用いて開発する際の『CORS』対策

バックエンドに『FastAPI』、フロントエンドに『Vue.js』を用いてWebアプリを開発する際、
それぞれローカルサーバーを立ち上げ、『Vue.js』から『FastAPI』にAPIをたたくと『CORS』エラーがでます。
これを回避するため、『FastAPI』のコードに下記を追記します。

“`
from starlette.middleware.cors import CORSMiddleware

origins = [“http://localhost:8080”]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=[“*”],
allow_headers=[“*”],
)
“`

『Vue.js』のローカルサーバーは、デフォルトで”http://localhost:8080″ですので、
これを開放します。

元記事を表示

[Python] 初心者向け 簡単 pythonanywhereの無料アカウントからメールを送る

Pythonanywhereでスクレイピングして結果をメールで送ろうと思いますが、まずはメールを送るところまで紹介したいと思います。思ったより簡単にできました。

まず、Pythonanywhereで無料でアカウントを作ります。

それから使用するGmailでダミーアカウントを作ります。もちろん、普段使っているGmailアカウントを使ってもいいのですが、パスワードをコード中に記載することになるので、お勧めしません。
また、無料ユーザーはSMTPは使えないのですが、Gmailは特別に使えるようになっているそうです。
https://help.pythonanywhere.com/pages/SMTPForFreeUsers/

さっそくですが、コードです。
Gmailのアカウント名とパスワードは書き換えてください。

“`python
import smtplib, ssl
from email.mime.text import MIMEText

# SMTP認証情報
account = “XXXXX@gmail.com” #書き換える
password = “ZZZZZ1234”

元記事を表示

【超重要!!】Djangoでモデルのマイグレートを元に戻す方法

# 目的
Djangoのmodels.pyでモデルを作成し、マイグレーションを行ったものの間違いを見つけて修正したい。しかし一箇所を直すためにmigrationファイルを作成するのもあとで保守がしづらくなると考え、前回(もしくはそれ以前)のバージョンに戻して情報を編集したい。

# 実施環境
### ハードウェア環境
| 項目 | 情報 |
|:-:|:-:|
| OS |macOS Catalina(10.15.7) |
|ハードウェア | MacBook Air (11-inch, Early 2015) |
|プロセッサ | 1.6 GHz デュアルコアIntel Core i5|
|メモリ | 4 GB 1600 MHz DDR3 |
|グラフィックス | intel HD Graphics 6000 1536 MB |
### ソフトウェア環境
| 項目 | 情報 |
|:-:|:-:|
| homebrew | 3.3.8 |
| mysql | Ver 8.0.27 for macos10.15 on x86_64 |
| python |

元記事を表示

Python Twitter APIを使わずにツイートを収集 2020年最新版

## twitter-scraper 更新停止
[以前書いた記事](https://qiita.com/katafuchix/items/6fd6b15685fe48f69e89) はもう使えなくなりました。

## 代わりに利用するライブラリ
pytwitterscraper を使います。

“`
$ pip install pytwitterscraper
“`

## アカウント情報参照
TwitterのIDを取得するために、まずプロフィール情報を取得します。

“`python
from pytwitterscraper import TwitterScraper
tw = TwitterScraper()
profile = tw.get_profile(name=”kabu01″)
print(profile.__dict__)
“`

プロフィール情報を全部取得できていることを確認。

“`
{‘bannerurl’: ‘https://pbs.twimg.com/profile_banners/88841617/1490939034’,
‘createat’

元記事を表示

Django個人メモ

# Django個人メモ
初めての投稿です、至らないところもあるかと思いますが復習と整理も踏まえて書きます。

## Djangoに入る前に“フレームワーク“自体の理解

【Django入門】Djangoアプリの設計哲学!MTVモデルをmodelsを通して学ぼう!

## MTVモデル
概要
 ・Model(データベースに格納されているデータ)← DB, Table関連
 ・Template(テンプレートファイルによって定義されたそれぞれのページのデザイン)← HTML, CSS, Javascript関連
 ・View(どのページを表示させるかを決定する処理)← コアとなる関数

## データ構造反映
http://farewell-work.hatenablog.com/entry/2017/05/07/160813
・python manage.py showmigrations (確認)
・python manage.py makemigrations (migrationsファイル作成)
・python manage.py showmigrations(確認)
・python manage.py mi

元記事を表示

PythonでQRコードを3行で作成してみた

## 0.はじめに
pythonを用いることで3行でQRコードを作成できるようなので、検証してみました。
##ライブラリをインストール
今回利用するqrcodeライブラリをインストールします。

“`
pip install qrcode
“`

## QRコードの作成
QRコードを作成します。

“`
import qrcode
img = qrcode.make(‘https://www.youtube.com/watch?v=dkWzWxrINRc’)
img.save(‘qrcode.png’)
“`

実行することで以下のQRコードを作成することができます。

![qrcode.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2465378/b43897b0-26ca-dfa2-9271-6f733d301564.png)

## 実行動画

前半はHMM(Hidden Markov Model)をBayes theorem視点から理解し、後半はその行動(observation)が連なったときに使用するcomputational costの低いViterbi algorithmについて理解する。
また最後にpomegranateの使い方も少し残す。

ここで扱う[Wikipediaの例](https://en.wikipedia.org/wiki/Hidden_Markov_model#A_concrete_example)とは
– Hidden state: rainy, sunny
– Observation: walk, shop, clean
のよくあるHMMである。

またパケージは旧来の[HMMlearn](https://hmmlearn.re

元記事を表示

【Project Euler】Problem 6: 2乗の和の差

* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。

### 問題 6. 2乗の和の差

原文 [Problem 6: Sum square difference](https://projecteuler.net/problem=6)

**問題の要約:1から100までの2乗の和と和の2乗と差を求めよ**

比較的簡単な問題なので、pythonのmapとlambdaを使って短く書くと以下のようになります。

“`python
nl = list(range(1,100+1))
print(f”Anwer : {sum(nl)**2-sum(map(lambda x: x**2, nl))}”)
“`

またちょっと凝って以下の公式を使ってみると。1行で書くことも。

“`math
(a+b+c)^2 – (a^2+b^2+c^2) \\
= 2ab+2bc+2ca
“`

元記事を表示

MetaTrader5の最適化結果xmlファイルをDataFrameに変換する

#はじめに
PythonでMT5の最適化データを扱おうと思ったら最適化データがxmlファイルとして出てくる。しかもこのxmlファイル、構造が少々複雑で巷に出回っているxml→CSVなどの変換スクリプトがうまく動かない。じゃあこれに特化したPythonスクリプトを組んでやろうというのが本記事の目的。
Python3.7のGoogleColab環境で動かした。

#全体の流れ(という名の目次)
1. ソースコード全文
2. xmlファイルの構造
3. コード解説
3. 注意

#ソースコード全文

“`python
import xml.etree.ElementTree as ET
import pandas as pd

#ファイルの読み込み
f = open(‘2021.08.01.xml’, encoding=’utf-8′)
xml_data = f.read()
f.close()

root = ET.fromstring(xml_data)

all = []
col = []
for i in range(len(root[2][0])):
for n in ran

元記事を表示

Jupyterlabでvariabeinspectorをインストールできたが、ビルドできない問題の対処

##トラブル
便利な拡張機能variableinspectorをインストールをして、ビルドを試したところエラーの500番が表示され、CUIから’jupyter lab build’をしろと命令された。
しかし、そこでもエラーが出てログを見てみろと言われたがイマイチ分からず…

##対処法
variabeinspectorをバージョン指定せずにインストールすると、バージョン3.0.9をインストールしてしまうので、バージョン3.0.7を指定してインストールしたところうまくいった。

“`
jupyter labextension install @lckr/jupyterlab_variableinspector@3.0.7
“`

##参考
https://teratail.com/questions/348800

元記事を表示

(カード型)ボードゲームをWEB化してみたシリーズ、いきなりまとめ。

先日、「THE GAME」と言うボードゲームをWEB化してみましたが、それ以外にもいくつかWEB化してみました。

そんなこんなで、いきなり過去に作ったゲームを公開します。

:::note warn
こちらは実在ボードゲームをWEB化していますが、基本的にすでにゲームをお持ち、体験したことがある方向けにUIはシンプルなものになっています。
まずは、実際にゲームを購入、体験いただいてから遊んでいただくとより楽しんでいただけるかと思います。
:::

# THE GAME
こちらは一人から遊べるゲームです。どのカードをどういう順番で出していくか、頭脳を使うゲームとなっております。一番ハマったゲームです。
一人の場合は頭脳ゲーム。複数人の場合はコミュニケーションを取りながら、協力できるゲームです。

## ゲーム導入
https://boku-boardgame.net/the-game

ゲームの遊び方はこちらを御覧ください。

こちらは先日の記事にも掲載しています。

https://qiita.com/yanaitti/items/9260848503809c7a857d

興味が

元記事を表示

【Project Euler】Problem 5: 最小公倍数

* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。

### 問題 5.最小公倍数

原文 [Problem 5: Smallest multiple](https://projecteuler.net/problem=5)

**問題の要約:1から20までの数の最小公倍数を求めよ**

比較的簡単な問題ですが、よく調べると2022年1月3日現在Google ColabのPythonのVersionは3.7.12で、mathモジュールに**lcm()**は無いようです。

“`Python
! python -V
# Python 3.7.12
“`
従ってmath.gcd()を使って作ります。

“`Python
import math
def lcm(x, y):
return (x * y) // math.gcd(x, y)

print(lcm(6, 4))
#

元記事を表示

OTHERカテゴリの最新記事