Python関連のことを調べてみた2020年08月15日

Python関連のことを調べてみた2020年08月15日

pip install –user でインストールしたパッケージが見つからない?

Windows での Python の話。

私は Node.js のアプリを書いて AWS にデプロイしてる人なので、 Python はメインで使ってるわけではありません。が、 awscli やら node-gyp やら、裏で Python につながってる人たちとは深いお付き合いにならざるを得ないので、仕方なく Python とも付き合ってます(笑)。 CloudFormation テンプレートのチェックをしようと cfn-lint を pip install –user しようとしたら…あれ、認識しない。

どうもこれ、 Python 公式の [Windows で Python を使う](https://docs.python.org/ja/3/using/windows.html) の記述に従って普通に Python をインストールしただけだと、登録される PATH が1個足りないみたいです。それは

“`
C:\Users\[username]\AppData\Roaming\Python\Python38\Scripts\
“`

すでに [バグとして報告](https

元記事を表示

第一回日本最強プログラマー学生選手権-予選- バチャ復習(8/8)

#成績

スクリーンショット 2020-08-13 18.25.33.png

20分程度遅れて始めたので実質17分二完です。

#感想

今回も非常に悔しい結果になりました。
C問題とD問題は答えを見たら気付いたので、このレベルの問題(水,青diff)が自分の課題かなと思います。

#[A問題](https://atcoder.jp/contests/jsc2019-qual/tasks/jsc2019_qual_a)

月日を全探索して一つずつチェックしていけば良いです。

“`python:A.py
m,d=map(int,input().split())
ans=0
for i in range(1,m+1):
for j in range(22,d+1):
if j%10>

元記事を表示

Pythonでおみくじを作る

##概要

プログラムを実行すると、運勢(凶〜大吉)とメッセージを表示するプログラムです。

##処理の流れ

1.おみくじの番号をランダムに決める
2.辞書fortunesから番号に対応する運勢を取得する
3.運勢に対応するメッセージが書かれたファイル名を作る
4.ファイルを読み込む
5.ファイルの内容をリストとして取得する
6.リストからランダムに要素を得る

##実装

“`python.qiita.rb
import random

fortunes = {
1: ‘凶’
2: ‘末吉’
3: ‘小吉’
4: ‘中吉’
5: ‘吉’
6: ‘大吉’
}

# おみくじの番号(1~6)をランダムに決定
number = random.randint(1.6)

# 辞書fortunesから番号に対応する運勢を取得する
fortune = fortunes[number]

# 読み込みファイル名を作成
file_name = ‘input/fortune_’ + str(number) + ‘.txt’

# ファイルを読み

元記事を表示

【初心者必読!?】プログラミングを学ぶ際に躓く用語集

どうも!
三町哲平です。
夏真っ盛りで汗かきの私には中々大変な時期であります。

さて今回は、
私がプログラミング言語にPythonやRubyというものが存在すると初めて知ったぐらいの時期にWordにまとめていたメモがありましたので、多少修正して記事にしています。
プログラミング初心者が学習で躓く聞き慣れない用語のまとめです。

※ Pythonから学習を始めたのでPython関係の内容を中心にインフラ等の知識も含まれます。

# CRUD
データを操作する際に必要な最低限の機能のこと。

* 機能(Create)
* 参照機能(Read)
* 変更機能(Update)
* 削除機能(Delete)

参考及び引用元:https://wa3.i-3-i.info/word123.html

# CI/CD
「Continuous Integration/Continuous Delivery」の略で、日本語では継続的インティグレーション/継続的デリバリーという。

ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にしておく、ソフトウェア開発の手法

オンプレミス型

元記事を表示

emacsにelpyを導入する

# Table of Contents

1. [はじめに](#orgc6070a6)
2. [emacsの嫌いなところ](#org85eb6ff)
3. [elpyとは](#org95f68a5)
4. [elpyの導入](#org4db3c00)
1. [melpaリポジトリの追加](#orgd8a887d)
2. [パッケージを読み込む](#org4d233fb)
3. [パッケージをactivateする](#orga71c8b8)
4. [pipでインストールするパッケージを持ってくる](#orgfddbff4)
5. [確認する](#org68d0e96)
5. [終わりに](#org1905831)

# はじめに

私は以前、elpyの導入に失敗しています。elpyはemacsをPythonの統合環境(IDE)化するパッケージです。

原因がよくわかりませんが、どう頑張っても動かなかったのです。3日くらい試行錯誤して断念しました。実力も無いのにemacsを使

元記事を表示

anyenv+pyenvでの環境構築(pyenvのみから移行(Mac))

#書いてること
pyenvのみの環境からanyenv+pyenvの環境への変更方法
(pyenvのアンインストール、anyenv+pyenvのインストール)
目新しいことはない(自分用)

#pyenv→anyenv+pyenv
結論、pyenvを削除してanyenvをインストール、anyenvでpyenvをインストールして、必要な環境を作り直す
[こちら](https://dev.to/m_yoshimo/xxenv-anyenv-install-1igm)によると単純にフォルダ移動するだけだと問題が起こるようなことが書いてあったので削除して作り直すことにした。

pyenvでインストールしたものを確認して削除

“`
% pyenv versions
% pyenv uninstall 削除するもの
“`

続いてpyenvのアンインストール

“`
% brew uninstall pyenv
“`
.zprofileに以下のような3行の記述があると思うので削除もしくはコメントアウト(以下のようにコメントアウトした)

“`
#export PYENV_ROOT=”$H

元記事を表示

DjangoのDBをmongodbに設定する方法 visual studio 2019

DjangoのDBをmongodbに変更する。

#環境
Django 2.2.15
mongodb 4.0.3
djongo 1.3.3
visualstudio 2019

#手順
djongoをインストール
“`
pip install djongo
“`
setting.pyのDatabeseを変更。hostにmongodbのURIを指定。

“`setting.py
DATABASES = {
‘default’: {
#’ENGINE’: ‘django.db.backends.sqlite3′,
#’NAME’: os.path.join(BASE_DIR, ‘db.sqlite3’),
‘ENGINE’: ‘djongo’,
‘NAME’: ‘your_dbname’,
‘CLIENT’: {
‘host’: ‘mongodb://{user_name}:{pass}@{ip_adress}:{port_num}/{your_dbname}’,

元記事を表示

[アルゴリズム×Python] 基本統計量の計算Part3(範囲、分散、標準偏差)

アルゴリズムとPythonについて書いていきます。
今回は簡単な計算を関数を使って求めるだけでなく、関数を使わない場合にどうやって求めるかについても書いていきます。

#目次

0.範囲を求める
1.分散を求める
 1-0.母分散を求める
 1-1.不偏分散を求める
2.標準偏差を求める
 2-0.母標準偏差を求める
 2-1.不偏標準偏差を求める
最後に

#0.範囲を求める

◯範囲(レンジ)は最も単純な**データの広がりを表す量**のことです。
最大値-最小値で簡単に求めることができます。
しかし、**極端な値がデータに含まれている場合**には、範囲がその値によって広がりすぎて必ずしもデータの特性を示すことができるとは限りません。(この問題を解決するのが、分散です)

##最大値と最小値を使った範囲の求め方

◯ある30人のクラスの数学のテストのデータを使って、範囲を考えます。

“`.py
test_score = [42, 66, 39, 27, 9, 97, 48, 13, 39, 63, 78, 93, 91, 86, 69, 56, 39, 23, 11, 4

元記事を表示

CentOS8の初期状態から nginx で php python perl ruby を動かすまで

# はじめに
いままでレンタルサーバなどでよくわからずにさわっていたCGIスクリプトですが、自前で動作させてみました。
CentOS8のクリーンインストール状態からの作業です。
コードは使いまわしのため、コピペできるようにしています。
作業履歴の目的なので、解説は少なめです。すみません。

設定ファイルはパッケージインストールされたものがあれば、できるだけそれを利用しています。
すでに動作している環境では、デフォルトの設定ファイルから変更されている場合もあり、必ずしも今回の手順で動作するとは限りません。

# 対象機器および環境

## 検証環境 ( 2020/8/15 )
* CentOS8 ( 8.2.2004 )
* PHP / PHP-FPM ( 7.2.24 )
* Python ( 3.8.0 )
* Perl ( 5.26.3 )
* Ruby ( 2.5.5 )

# 作業内容

## 事前作業

“`:タイムゾーンの修正、パッケージのアップデート、selinuxの無効化
timedatectl set-timezone Asia/Tokyo
dnf insta

元記事を表示

condaで手軽にpysparkをインストールする

# 1. 背景・対象

ローカル環境でcondaを使ってpysparkを動かすためのメモ。
他の一般的なPythonライブラリと同じような感じでpysparkをインストール・実行する。

想定する主な対象:

– 細かい設定は置いておいて、少ない手順でとにかく動く環境を作りたい
– ネット記事や参考書のサンプルコードを動かしたり、小規模なテストデータを使ったコーディング・機能開発をとりあえずで出来れば良い
– [公式サイト](https://spark.apache.org/downloads.html)や[ミラー](http://apache.mirror.iphh.net/spark/)からダウンロードしてきて`PATH`や`PYTHONPATH`を通して、更にJavaもインストールして、、、などといちいちやるのが面倒
– SparkやJavaのバージョンを仮想環境毎に分けて管理したい
– PC本体で使うJavaとSparkで使うJavaを区別したい
– Spark2.4とSpark3.0を使い分けたい(あるいはプロジェクト毎に区別してSparkをイ

元記事を表示

蟻本のFence Repairがすんなり理解できなかったので細かく追ってみる

## 用語の定義

> **蟻本**
>
– [プログラミングコンテストチャレンジブック](https://amzn.to/2DOH7xS)
– 競技プログラミング界隈でのバイブル的な本
– 競プロ参戦にあたって必要なベーシックな知識が網羅的に掲載されている

> **Fence Repair**
>
– [POJ 3253](http://poj.org/problem?id=3253)
– 北京大学のオンラインジャッジの3253番の問題
– 一般化するとハフマン符号の問題らしい
– 蟻本の49ページから解説が掲載されている

貪欲法を使うという問題ですが、なぜそれが貪欲的になるのかがスッと理解できなかったので、検証しようというのが発端です。

## 問題文
> 農夫ジョンは、フェンスを修理するため、とても長い板から$N$個の板を切り出そうとしています。切り出そうとしている板の長さは$ L_1,L_2,\dots ,L_N$であり、元の板の長さはちょうどこれの合計になっています。板を切断する際には、その板の長さの分だけのコストがかかります。例えば、長さ$21$の板から$5,8,8$の

元記事を表示

【簡易版】最低限の読書メーターの記録情報をエクスポートする方法

#はじめに

はじめに言っておきますが、***読書メーターの情報はエクスポートできません***。詰みました。お疲れ様です。

しかし、エクスポートの***目的は過去情報を抽出すること***なので、とりあえず強引にでも抽出できればOKなわけです。これは疑似エクスポートみたいな感じですかね(そんな大したことやってるわけじゃない)。

僕は読書メーターを使っていたんですが、あまり使い勝手がよくないと思って使っていました。「もういっそのこと***スプレッドシートで読書管理・記録しよう!***」と決めたのです。

自分が***欲しいと思った情報は、読了した書籍の読了日、タイトル、著者名***ぐらいでした(+αのページ数)。感想とかは全部書いているわけじゃないし、スプレッドシートで管理はしないだろうなーと思ったので不要でした(感想文はノートで記録するか、書くなら本のキーワードぐらいでいいかな)。Webスクレイピングもダルイし、簡単な方法ないかなーって感じ。

***簡単な方法ありました。***

※プログラミングとか全然わからない人いたら「最後に」のところだけ読んでください。

## 完成図

元記事を表示

import torchで「OSError:[WinError 126] 指定されたモジュールが見つかりません。」が出た時の対処

#はじめに
これまでテーブルデータの機械学習を中心に勉強してきましたが、画像処理についても勉強するために書籍「Pytorchによる発展ディープラーニング」を購入しました。さっそく、サンプルコードを実行するべくPytrochをインストールしましたが、コード実行時にモジュールのimportエラーが発生しました。事象の解消になかなか苦戦したので対処法を残します。

**※ちなみにQiita初投稿です**

#実行環境
OS: Windows10
Anaconda3環境(Python3.7.6)

#発生した事象
[Pytorch](https://pytorch.org/get-started/locally/)の公式サイトにて該当するインストールコマンドを確認し、Anaconda Prompt上でコマンドを実行。

自分の場合は以下のコマンド
(バージョンはpytorch==1.6.0 torchvision==0.7.0)

“`
conda install pytorch torchvision cpuonly -c pytorch
“`

Pytorchのインストール完了後に、書

元記事を表示

yukicoder contest 261 参戦記

# yukicoder contest 261 参戦記

## [A 1168 Digit Sum Sequence](https://yukicoder.me/problems/no/1168)

増えていったりしないので、何も考えずに99回ループを回せば OK.

“`python
N = int(input())

for _ in range(99):
N = sum(int(c) for c in str(N))
print(N)
“`

## [B 1169 Row and Column and Diagonal](https://yukicoder.me/problems/no/1169)

解けず.

元記事を表示

【Python】データサイエンス100本ノック(構造化データ加工編) 027 解説

##Youtube
[動画解説](https://youtu.be/OX0x8hhWy94)もしています。

##問題
P-027: レシート明細データフレーム(df_receipt)に対し、店舗コード(store_cd)ごとに売上金額(amount)の平均を計算し、降順でTOP5を表示せよ。

##解答
“`:コード
df_receipt.groupby(‘store_cd’).amount.mean().reset_index().sort_values(‘amount’, ascending=False).head(5)
“`

##出力
| | store_cd | amount |
|–:|:–|–:|
| 28 | S13052 | 402.867470 |
| 12 | S13015 | 351.111960 |
| 7 | S13003 | 350.915519 |
| 30 | S14010 | 348.791262 |
| 5 | S13001 | 348.470386 |

##解説
**・PandasのDataFrame/Seriesを使用します。

元記事を表示

私を5歳児だと思ってScikit-learnのPermutation_Importanceを教えてください。

###Scikit-learnのPermutationImportanceを使ってみた

`PermutationImportance`のライブラリーは、今までは、`ELI5`[ELI5公式ドキュメント](https://eli5.readthedocs.io/en/latest/blackbox/permutation_importance.html)というライブラリーでした。
(ELI5とはExplain Like I’m 5.(私を5歳児だと思って説明して)の略です。)
最近、`Scikit-Learn0.22`から`PermutationImportance`が実装されました。今までサポートベクターで計算した後は、特徴量の何が寄与したかよくわからなかったのですが、今後は、`PermutationImportance`で特徴量の何が重要か見ることができるようになりました。

`PermutationImportance`は、簡単に言うと、特徴量の中の一つを選ぶ、その中の値をシャッフルして意味のない数値にします。そのデータを用いて精度を求め、正しい特徴量のデータセットと精度の比較を

元記事を表示

python orm

何故かqiita界隈ではsqlalchemy一択(検索561件、タグ161件)だけど他にもあるよね?と思ったら当然あった。

# peewee 検索35 タグ8

[coleifer/peewee: a small, expressive orm \-\- supports postgresql, mysql and sqlite](https://github.com/coleifer/peewee)
[peewee — peewee 3\.13\.3 documentation](http://docs.peewee-orm.com/en/latest/)

“`py
from peewee import *
import datetime

db = SqliteDatabase(‘my_database.db’)

class BaseModel(Model):
class Meta:
database = db

class User(BaseModel):
username = CharField(unique=True)

class

元記事を表示

暇なので『RPAツール』を作る 番外編

#はじめに
皆さん、どうも。enp(えん)です。冬より夏が好きです。
この記事は今から『RPAツール』を作ろうとする人の進捗報告になります。
RPAやRPAツールの作り方が書いてあるものではございませんので、ご了承ください。
今回は番外編ということで#3の延長線上で出来ちゃったRPAのご紹介です。
大変私欲を極めたRPAなのでグレーゾーンのような気もしますが、なにとぞよろしくお願いいたします。

#面倒くさいんじゃ!
はい。タイトルそのまんまです。多分、同じようなことを考える人は多いと思うんです。
###マビノギって、なぜブラウザから立ち上げなきゃならないの?
マビノギに限らずブラウザからでのみ立ち上げるゲーム全てに言えます。
__いちいちホームページに行くの面倒! どうにかしたい!__
そこで私は思います。__自動化できるんじゃね?__
#3で自動ログインは出来るようになりました。そのため、マビノギへログインすることは出来ます。
あとはゲームを立ち上げるボタンをクリックすれば出来る! そう思い作り始めました。

#実装に必要なモノ
早速

元記事を表示

nimpyでnimからpythonを使って主成分分析をする

# 概要
Nimからsklearnをつかって主成分分析を行う手順をまとめました。
言わずとしれたsklearnを使うことで主成分分析を数行で行うことができますので、Nimから実行するためnimpyというライブラリをつかって実行してみます。実際にsklearnを使って主成分分析を行う部分はPythonで記述します。

nimpyでPythonを呼ぶ方法については以前やったのでその応用になります。
[Nimpyでnimからpythonを呼ぶ](https://qiita.com/kixixixixi/items/b9b34030959fe718ab93)

# Python側の準備
pyenv等で任意のPythonをいれる際に例のごとく(上記の記事を参考に)、`CONFIGURE_OPTS=”–enable-shared”`を付与してlibpythonが生成されるようにします。
そしてpoetry等を使ってsklearnをいれます。

“`toml:pyproject.toml
[tool.poetry]
name = “nimpy_pca”
version = “0.1.0”
de

元記事を表示

【Python】Pyroで混合ガウスモデル

Pyroで混合ガウスモデルの推定を試してみました。
[公式のexample](http://pyro.ai/examples/gmm.html)をベースにして、適宜補足的な内容を入れながら実行しています。

※本記事のソースコードは、Jupyter Notebookで実行しています。

環境

Windows10
Python: 3.7.7
Jupyter Notebook: 1.0.0
PyTorch: 1.5.1
Pyro: 1.4.0
scipy: 1.5.2
numpy: 1.19.1
matplotlib: 3.3.0
seaborn: 0.10.1

※Pyroについて他の記事も書いているので、よろしければご覧ください
[【Python】Pyroでベイズ推定](https://qiita.com/isuya/items/c8577d63dd6bb0ae3c34)

“`Python
import os

import numpy as np
from scipy import stats

impo

元記事を表示

OTHERカテゴリの最新記事