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

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

VS Codeがvirtualenv環境を認識しないときの対処法

# 起きたこと
いつもと違うマシンでPythonを動かしたところ、VS CodeがVirtualenv環境を認識してくれませんでした。
これのせいで、例えば以下のようにエラーが出ます↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348026/07756dc2-0254-22b3-3de4-56256d116995.png)
(実際にエラーを表示しているのは「Pylance」という拡張機能で、「import先が見つからないよ」と事前に伝えてくれています)

### 環境
windows 10
VS Code 1.72.2

# 対処方法
VS Codeに、仮想環境の場所を教えてあげます

## 1. Poetry が動かせる環境にて以下を実行
“`poetry config virtualenvs.path“`

## 2. 1で得られたパスを、そのまま以下の場所に入れ込みます
![image.png](https://qiita-image-store.s3.ap-northe

元記事を表示

get_random_string関数をIDに使ってもまず重複しない – Django

今回はDjangoの `get_random_string` 関数についてです。

僕のプログラミングコ学習コース

→[【中級者向け・Django4対応】Python/DjangoによるECサイト開発講座(Django3.2系にも対応)](https://www.takux.one/#django-ecweb-vegeket)

内でご質問いただいたので解説してみたいと思います。

ご質問内容は次のような感じです(一部省略・編集してます)。

> get_random_string はランダムな値を生成するので、idとして使うと重複してしまうのではないでしょうか?

## コースでの使用例

コースでの使用を簡単な例に書き換えたものが次のコードです。

“`python
from django.db import models
from django.utils.crypto import get_random_string

def create_id():
return get_random_string(22)

class Item(models.Model):

元記事を表示

C言語ソースのコメントを翻訳するPythonスクリプト

流用元のソースコードのコメントがドイツ語でさすがに分からん、ということで、ドイツ語から英語に翻訳するスクリプトを作成しました。Google Translateを使用しています。

“`python:translate.py
# -*- coding: utf-8 -*-
# Google Translateはエラーが出るため以下バージョン使用
# python -m pip install googletrans==4.0.0rc1

from chardet import detect
import re
from googletrans import Translator
import glob

def translate(filename):
# エンコードを検出してファイルを開く
with open(filename, “rb”) as f:
b = f.read()
enc = detect(b)
data = b.decode(enc[“encoding”], “ignore”) # デコードエラーは無

元記事を表示

【TwitterAPI】超簡単!tweepyを使ってDM送ってみた〜

# 今回やること〜
tweepyの「send_direct_message」メソッドを使って特定のユーザーにダイレクトメッセージを送ります!
![スクリーンショット 2022-11-04 10.06.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2586059/3ce48197-6a2a-3c47-7d50-24749647b1d7.png)
TwitterAPIの取得がまだの人はこちらから先にご覧ください

https://qiita.com/Naoya_pro/items/f1bdba5260bda054f6d2

# やり方〜
では早速やっていきましょう!
まず、大前提として他の人に迷惑をかけないようにしましょう!なので、今回のTwitterAPIを登録しているアカウント以外にもう1つアカウントを用意してください!
(DMの送り先にするためです!無い人は誰か友達に協力してもらうか新しくアカウントを作っときましょ〜)

次に
「send_direct_message」の使い方です!
“`py

元記事を表示

【ABCI】産総研スパコンに圧倒的入門するためのページ〜VSCode・Anacondaによる計算環境整備

こんにちは、@aya_seです。大学で自然言語処理の研究をしています。

今回は、**産総研AI橋渡しクラウド**(**ABCI**)で最低限のジョブが投げられるようにするまでの作業をまとめました。もともとは研究室内Wikiに書いていたものですが、せっかくなので公開してみます。また、ABCIの事例ではありますが、他のスパコンでも共通する部分があるかと思うので、参考になれば幸いです。

ちなみに、今回の記事の大部分の内容は[**ABCIのユーザーガイド**](https://docs.abci.ai/ja/)に書いてあったので、読むとよさそうです。

# 想定する読者層
– 研究室に配属されたばかりで、これからスパコン(ABCI)を使おうと考えている
– Python・PyTorchを利用したML系のジョブを投げたい
– スパコン(ABCI)におけるジョブの概念や投げ方について知りたい

# ABCIにRemote SSH接続する
– まずはABCIの**アカウントID**を把握する。
– [**ABCI利用者ポータル**](https://portal.abci.ai/user/pro

元記事を表示

自然言語処理をとりあえず動かしてみた

初めて記事を投稿します。
普段はPHPを使ってわちゃわちゃと開発をしております。

突然ですが私、高校生の頃に物書きになりたいと思っていた時期がありました。
その頃はライトノベルに激ハマりしていたので、将来はライトノベル作家だ! などと夢を胸に秘めていたのです。

## なんでならなかったのか?
友人に書いたものを見せたら紙を破られ「こんなのダメに決まってんじゃん」と言われたからです。
ピュアなハートが傷ついてしまった私は物書きを諦めました。

## 一念発起
そんな私も再び小説熱が盛り返してきました、あの頃とは違う、今なら書ける、超大作がかける! そしてウハウハになる!
自分の力以外を使って。。。

# 早速作ってもらおう

## 何を使うか
自然言語処理で使われるものには、RNNとかGRUとか色々ありますが、今回はLSTMを使って作成していこうと思います。
なんでかというとLSTMの文字を見て、qiitaのLGTMが頭に浮かんだからです。はい、直感です。
今回は自動文章生成処理ってどんなものか? というのが目的なので、これでいいのだ(バカボン風)

## 準備
まず準備として、参考

元記事を表示

文章読み上げツールを自作してみた

## はじめに
こんにちは、普段はPHPを主に使っている伊藤です。

先日とある読み上げソフトを使って遊んでいたら、
月の上限に引っかかってしまいました。
有料版に登録すれば文字数制限は増えるのですが、
ケチな私は「遊ぶ分には自作できないかなー」と考えたのです。

検索してみるとGoogle様に誂え向きなAPIがあるじゃないですか!
と言うわけで、早速自作を開始してみます。

## Text-to-Speechの有効化
– 今回はGoogleから提供されているAPIの`Text-to-Speech`を利用して作成していきます。まずはGCPにアクセスし、新規プロジェクトの作成、もしくは既存プロジェクトを選択します。
– 次に、左のメニューから`ライブラリ`を選択し、`Text-to-Speech`と入力しましょう。そうすると、いくつかAPIの候補が出てくると思いますが、今回は`Text-to-Speech`を選択します。
Pythonでニコニコ動画とYoutubeを同時検索できるようにしてみた

# 前置き
娘:おとうさん、ニコニコ動画とYoutube面白いねぇ
私:そうだね! 最高のサービスだよね!
娘:でも別々のサイトだから検索面倒臭いねぇ
私:そうだね! でもそれは仕方n
娘:面倒臭いねぇ
私:・・・きっと優秀な人が同時に検索できるサービス作ってるんじゃないかな?
娘:知らない人のサービスは触っちゃいけないっておじいちゃんが言ってた
私:・・・
娘:面倒臭いねぇ
私:・・・(無言でPCを起動する)
娘:さすがだねぇ

というわけで妄想の前置きは置いておいて、早速始めてみます。

# 環境
– 今回使用するのは下記です
“`text
vscode
python
– 3.9.7
docker
– 20.10.11
django
– 4.0.6
“`

# docker

– 今回は環境作成にdockerを利用します。事前のインストール等の手順については割愛します。
– vsCodeのコンテナ開発を利用します。
– まずは`.devcontainer`フォルダを作成し、その中に必要なファイルを作成します。
“`devcontainer.json
{
“nam

元記事を表示

【試行錯誤】「〇〇で歌ってみた」動画の自動生成 リンクまとめ

# 概要
「【試行錯誤】「〇〇で歌ってみた」動画の自動生成」シリーズの記事一覧です。
随時更新していきます。

# リンクまとめ
作成済み
[その1:MusicXMLの歌詞を書き換えて歌声合成](https://qiita.com/shimajiroxyz/items/98d9305c0a4256f6eac5)

今後の予定(タイトル等、変更可能性あり)
その2:MusicXMLの情報から字幕動画生成
その3:替え歌歌詞の自動生成
その4:替え歌動画の生成

# メモ(参考にした/できそうな記事)
[midiと歌詞からmusicxmlを生成してNEUTRINOに渡したい(1)](https://pokosho.com/b/archives/3768)

元記事を表示

pythonで一行で極値のx座標を求める方法

# はじめに

科学計算をしたいときに関数の極値をあたえるようなxを求めたいときがでてくると思いますが、ちょうどよい一行を見つけたので紹介させていただきます。

# とりあえず準備から
“`python
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,10,10001)
y = np.exp(-1*x/10) * np.sin(x)
plt.plot(x,y)
“`
とりあえずこんな感じで関数を用意します。
“`math
y = e^{\frac{-x}{10}} \sin(x)
“`
今回は試しにこの関数を微分してみましょう。
“`python
dydx = np.gradient(y,x)
“`
# 結論
ここで微分を簡単に取得できるわけですが、これから極値のx座標を求めるとなると大変です。
そこで以下のコードを通します。
“`python
x[1:][dydx[1:] * dydx[:-1] < 0] ``` このコードは、ある一点の前後の微

元記事を表示

Pythonでクリックしたスクリーン上の座標を求める方法のメモ(pynput)

# Pythonで、クリックした画面上の座標を求める方法

※ Pythonに関しては最低限の知識がある方向けです。

`pynput`は外部パッケージなので、pip等を用いインストールします。

“`
pip install pynput
“`

インストールしたら、次のコードを動かせるようになります。

“`python:cursol.py
from pynput.mouse import Listener

def on_click(x, y, button, pressed):
if pressed:
print(‘{:5.1f}, {:5.1f}’.format(x, y))

with Listener(on_click = on_click) as listener:
listener.join()
“`

クリックで押された時に離れた時に、定義された`on_click`が呼ばれます。

第1引数`x`は、普通のx軸。左端が0。
第2引数`y`は、下方向のy軸。上端が0と。
第3引数は、``。

元記事を表示

Python Pandas

参考URL

## インストール
“`
pip install pandas
“`
## データ構造
|種類|説明|
|—-|—-|
|DataFrame|エクセルの表形式のように行と列で成り立つ
|Sereies|DataFrameから1列取り出した型
リストにインデックスがくっついたイメージ

## 使用例
“`py
import pandas as pd

#read_csv: 変数へデータの代入
df_population_data = pd.read_csv(‘data.csv’,encoding=’shift-jis’)

#実行結果:pandas.core.frame.DataFrame
type(df_population_data)

#最大表示行数
pd.set_option(‘display.max_rows’,100)

#最大表示列数
pd.set_option(‘display.max_columns’,3)

#オプションのリセット
pd.rese

元記事を表示

[Python]スクリプトで自分自身を呼び出す

# はじめに
例えば,sample.py の中で sample.py を呼び出します.
同じファイルを複数起動させたい時などに使えます.

# コード
“`
file = open(__file__, encoding=’UTF-8′) # 自分自身のファイルをUTF-8で読み込む
exec(file.read()) # ファイルを実行する
“`
実行中のスクリプトのパスを__file__で取得できます.
exec()関数はPythonのコードオブジェクトを実行する組み込み関数です.
# 記述例
ここでは,実際に Tkinter (GUIを扱うライブラリ) を用いて「ボタンを押すと複製する」というようなスクリプトを作ってみます.
“`
import tkinter as tk

# 新規ウィンドウを開く
def new_window():
file = open(__file__, encoding=’UTF-8′)
exec(file.read())

# ウィンドウの設定
disp = tk.Tk()
disp.title(‘sample’)
disp.geo

元記事を表示

[Flask] [備忘録]RuntimeError: Working outside of application context.でツボった

こちらの記事を見ながらFlaskとSQLalchemyを用いてログイン機能を作成していたところ以下のようなエラーが出て2時間くらいツボったのでその解決方法を備忘録的にメモしておきます!もっといい解決方法知っている方がいましたらコメントで教えていただけますと幸いです!
https://qiita.com/yuuki-h/items/47135ea7a07d0c994275

“`
RuntimeError: Working outside of application context.

This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.
“`

ターミナルで以下のコマンドを順に実行してみましょう!
“`:ターミナル

元記事を表示

【Python】matplotlibでAbaqusのカラーバーを簡単に作れるようにした

# はじめに

汎用有限要素法ソフトのAbaqusの結果表示では、凡例のカラーバーが表示されるのですが、小さく見にくいという問題があります。
そこでPythonのmatplotlibを使用して単体で画像を作成できるようにしました。
![colorbar.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/ce6f7a5f-d263-076a-d4cb-33847a95efb8.png)

# 背景

Abaqusの結果を表示するときにそれぞれの要素の値をカラーバーとして一緒に表示することがあります。

例えばこちらのシェル円筒の3点曲げ解析結果を表示させると

https://qiita.com/yuki_2020/items/4a90448f9685d2511675#%E7%B5%90%E6%9E%9C

このようにカラーバー(凡例)をが小さすぎて非常に見づらくて発表には使用できません。
![test.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

【試行錯誤】「〇〇で歌ってみた」動画の自動生成 その1:MusicXMLの歌詞を書き換えて歌声合成

# 概要
「〇〇で歌ってみたシリーズ」と呼ばれる替え歌動画の自動生成方法について試行錯誤してみます。
まずはMusicXMLの歌詞を書き換えて、NEUTRINOで替え歌の歌声合成をすることに挑戦しました。

シリーズ一覧:
[【試行錯誤】「〇〇で歌ってみた」動画の自動生成 リンクまとめ](https://qiita.com/shimajiroxyz/items/5df23a0ca81a3a2d9568)

# 背景
替え歌動画をつくることがときどきあるのですが、だいたい以下のような手順を踏みます。

* 替え歌歌詞を作成
* 歌声合成システムに替え歌を歌わせる
* 音楽に合わせて元歌詞、替え歌歌詞、適当な画像を適切なタイミングで表示する動画をつくる

これらの工程について、プログラムで楽をしたくなったので、できる範囲の自動化に挑戦してみます。

「替え歌歌詞の作成」については僕がよく作るジャンルの「〇〇で歌ってみたシリーズ」については[Soramimic](https://soramimic.com)という作詞支援システムを過去に作りました。

そこで今回は「歌声合成システムに替え歌を

元記事を表示

CSVファイルを読み取ってPandasで編集してみた。

# はじめに
– 以前、とあるサーバーからCSVファイルをAPIで取ってきて、編集したものを自分のサービスに読み込ませるというバッチを作成する機会がありました。そのときの実行ログとして残しておきたいと思います。
– Webアプリ開発にしろ機械学習にしろ、CSVファイルを読み込んでそれに手を加えて使うというのは一緒だと思いました。他の人の役に立てば幸いです。

## pandasのインストール
“`bash:インストール
% pip install pandas
% pip list | grep pandas #バージョン
pandas 1.5.1
“`

# 1. CSVファイルの読み取り
“`python:
import pandas as pd

file = PATH #取得したいファイルのPATH
df = pd.read_csv(file, encoding = “utf-8”) #encodingは案件によって変えてください
“`
今回は適当にdfを作ります
“`python:df作成
df = pd.DataFrame({‘name’:

元記事を表示

python Jupyter Lab

## Jupyter LabとJupyter Notebook
Jupyter Labは、Jupyter Notebookの後継機

## インストール方法
“`
pip install jupyterlab
“`
## 起動方法
コマンドプロンプトで「jupyter lab
利用するブラウザで「localhost:8888」にアクセスする
“`
jupyter lab
“`

## pyファイル形式でエクスポート
[File]>[Sava and Export Notebook As]>[Excutable Script]

## Jupyter Lab 終了方法
[File]>[Shut Down]

元記事を表示

[python] Web上で特定の株価の情報を集める -BeautifulSoup-

# はじめに
場合によってはWebから情報を自動的に得ることも必要となる。
例えば、株価の情報など特定の値を持つデータ
ここではpythonを用いてWebから情報を集める方法の基本的なことをまとめた

# 環境
windows 10
python version: 3.7.8
Microsoft Edge
Yahoo Finance

# Code

“`python
import requests
from bs4 import BeautifulSoup
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821152/6423b487-8ac8-bd73-9098-bc0def9f1861.png)
対象は何をしても大丈夫そうなYahoo Finance
あの大きいリアルタイム株価の情報だけをゲットしたい。
情報を得ることが成功したら396.2の値を得るに違いない。

# URL接続 -requests-
まずURLを通してページ上の情報を得る。
“`python
dat

元記事を表示

Alfred WorkflowとNotionのデータベース機能で最強の英語辞書を作ろう!(DeepL, 英辞郎, ロングマン英和辞典, OCR)

# TL;DR

DeepLで翻訳、ロングマン英和辞典と英辞郎から単語検索し、それをNotionのDatabaseに保存して最強の辞書を作ることができるAlfred Workflowを作成した。
DeepLはDeepLAPIから引っ張ってきて、ロングマン英和辞典と英辞郎はスクレイピングしている。ついでにOCRにも対応した。Alfredの検索窓から`d`+半角スペースで利用可能。英和も和英も対応(OCRは英和のみ)。

DeepLで翻訳したものが以下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316390/16f56194-51b1-83c7-d767-4dda6c1467fe.png)

ロングマン英和辞典で辞書検索したもの。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/316390/3ee035a0-5692-1a16

元記事を表示

OTHERカテゴリの最新記事