ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

Python

【python】`ModuleNotFoundError: No module named '_ctypes'`というエラーを回避する方法

python の開発環境を移設したところ、新環境で以下のエラーに引っかかってしまったので、ここに回避方法をメモします。 問題のエラー 原因 対策 回避策 python アンインストール libffi-dev インストール 再度 python インストール python パッケージインス…

【python】`pip install requirements.txt` がうまくいかなかった時の対応

pyenv で v3.9.6 のpythonをインストールして以下のコマンドを実行したところ処理が失敗したので、困ったのでメモを残します。 $ pip install -r requirements.txt Collecting docopt==0.6.2 Using cached docopt-0.6.2.tar.gz (25 kB) Preparing metadata (…

python で json -> csv 変換

python を使って json から csv に変換させたい場合のメモをここに残します。 データ 入力データ(json) 出力データ(csv) プログラム データ 入力データ(json) 入力データは以下のものを想定してます。 { "template": [ { "path": {{path}}, "accountId": {{a…

【python】PyDrive をアップグレードしたら Google ドライブにアップロードする処理が失敗するようになって困った

PyDrive を使った古いプログラムを改修してライブラリをアップグレードしたら、 Google ドライブにアップロードする処理が失敗するようになって困ったためここに回避方法をメモします。 症状 原因 回避方法 症状 問題の python スクリプトを実行すると、処理…

【python】 yield の動きを調べてみる

yield の動きがピンとこないので、動作を調べてみました。 return と yield の違いについて return yeild プログラム yeild の挙動について(ループ) yeild の挙動について(ループ以外) return と yield の違いについて return と yeild を比較してみます。 r…

【python】pep8 の E501 とは何か調べてみる

python で開発を行っていると、たまにプルリクエストのコメントで E501 の指摘を目にします。 そこで今回は、pep8 の E501 についてメモしようと思います。python には pep8 というコーディング規約があります。 www.python.orgE501 は「E501 line too long…

python - うちのねこの画像をリサイズ

うちのネコの写真を OpenCV でリサイズしてみました。 import cv2 from matplotlib import * from pylab import * fname = "cat.jpg" img = cv2.imread(fname) imshow(img) リサイズ dst = cv2.resize(img, dsize=None, fx=0.1, fy=0.1) imshow(dst)

Python - Plotly でチャート作成

Python でデータ可視化の方法をここにメモしとこうと思います。 今回は Plotly を使ったチャートの作成方法です。 Plotly とは 前提条件 サンプルチャート作成手順 plotly インストール サンプルチャート Bar Chart Plotly とは カーソルを合わせると、その…

docker-compose を自分なりにまとめてみる(postgresとdjangoのアプリ)

今回は docker を使って postgres と django を使ったアプリの開発環境を作成する方法をここにメモしたいと思います。 docker-compose とは docker-compose を使うまでのステップ 作業フォルダ作成 Dockerfile 作成 Dockerfile に記載している requirements.…

【python】Pyinstaller で作成した exe ファイルがセキュリティソフトのチェックに引っかかってしまい色々調べてみた

Pyinstaller でビルドしたアプリがセキュリティソフトのフィルタに突然ヒットするようになったので原因を調べてみました。 同じような症状が出ていて対策を検討しているサイト 改善はみられなかったけど実施してみたこと pyinstaller の bootloader をリビル…

【python】cx_Freeze を使ってみる

Python のスクリプトファイルを exe 化する方法に cx_Freeze というものがあります。 今回は cx_Freeze について使い方をまとめてみました。 cx_Freeze とは 作成手順 cx_Freeze インストール exe ファイル作成 python スクリプト作成 setup.py ファイル作成…

【python】py2exe を使ってみる

python で開発したものを windows 端末に配布したいと考え py2exe の使い方をまとめました。 py2exe とは セットアップ手順 py2exe インストール 変換手順 python スクリプト作成 setup.py 作成 変換コマンド実行 py2exe とは py2exe は、python スクリプト…

【python】Pyinstaller でバイナリ化した実行ファイルにダイナミックリンクしているものがあったので完全に静的なライブラリ化をめざす方法

以前 Pyinstaller で実行ファイルを作成したのですが、ダイナミックリンクで作成されており、環境依存の問題を考慮し、完全に静的なライブラリで完結する実行ファイルにできないか調査してみました。a1026302.hatenablog.com以下のサイトを参考に完全に静的…

【python】PyInstaller で作った実行ファイルが crowdstrike で誤検知

Python で作成したプログラムがある日を境にセキュリティソフトに引っかかるようになってしまった。いろいろ回避策を模索しているがうまくいかず。。。 とりあえずこれまでの対応をいったんメモ。。。 状況 エラーメッセージ 検証内容 ウィルスチェックツー…

python3.10 で pyinstaller をインストールすると _bootlocale というモジュールがないといわれる場合の対応

python3.10 で pyinstaller をインストールするとそのままビルドすると "_bootlocale" というモジュールがないというエラーになったためその時の対応方法をここにメモします。 症状 エラー 環境 回避策 参考 症状 エラー 以下のコマンドを実行すると、処理の…

python の実行ファイルで動的リンクエラーを回避する

pyinstaller で python の実行ファイルを作成しても、実行環境によっては動的リンクエラーになることがありました。その場合は、staticx というツールを使って静的リンクのみの実行ファイルを作成することでエラーが回避できるようです。pyinstaller につい…

【python】ubuntu で pyinstaller を使ったらエラーが出た困った話

ubuntu で pyinstaller を使ったらエラーが出た困った時の対応方法をメモします。 症状 エラーメッセージ エラーの内容 対応したこと 実行環境確認 回避策 再度 pyinstaller 実行 症状 ubuntu の環境で pyinstaller を使ったら以下のエラーが出てきました。 …

【python】PyInstaller を使ってバイナリファイルを作ってみる

windows の作業端末に pythonスクリプトの配布を検討していたのですが、配布先に環境構築を依頼するのが手間なので PyInstaller を使ってWindows用の exeファイルを配布することを検討してみました。 今回は、pythonスクリプトを実行ファイルに変換する作成…

【python】windows 環境で CP932 以外のファイルを開こうとしたらエラーになった話

症状 エラー内容 コード 原因 回避方法 症状 エラー内容 windows 環境で python のスクリプトを作成していたら utf-8 のファイルを開こうとしたら以下のようなエラーが出ました。 UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 0: …

selenium で Message: newSession というエラーが出る

python で selenium を使って Firefox からの自動処理を実装していたところ、ある日を境にエラーが出てしまったので対応方法を調査してみました。 症状 対応方法検討 対策 参考 症状 webdriver.Firefox を使っていたら以下のようなエラーが出ました。 (ちょ…

【python】unicode error “unicodeescape”というエラーの回避方法

windows 環境で python のプログラムを作成していたら unicode error “unicodeescape”というエラーに遭遇しました。 症状 環境 コード エラーの場所 原因 回避方法 補足 raw 文字列 症状 python スクリプトを実行すると、以下のようなエラーが表示されます。…

cron から python で作った selenium のコードを実行したら動かなかった時の話...

cron の定期実行で pythonで作った selenium のコードを動かしてみたら、以下のようなエラーが出て処理が失敗してしまいました。 症状 Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-pac…

mac で cron を使おうとしたら「[Errno 1] Operation not permitted」というエラーが出てしまっとときの対応

Mac で Python のプログラムを cron から実行させようとしたところうまくいきません。 症状 crontab の設定内容 err.log の内容 問題点 回避方法 症状 crontab の設定内容 crontab の設定は以下の通りです。 0,30 * * * * /Users/{{user}}/.pyenv/shims/pyth…

【python】エクセルファイルを pandas の dataframe に読み込ませて spreadsheets に貼り付ける方法

エクセルファイルを pandas の dataframe に読み込ませて spreadsheets に貼り付ける方法をまとめてみました。 事前準備 python gspread-dataframe インストール エクセルファイル操作 スプレッドシート操作 スプレッドシートにコピー 事前準備 python から …

python でスプレッドシートを操作する際の準備について

python で Google のスプレッドシートを操作する際の手順をまとめてみました。 Google Cloud Platform の設定 プロジェクト作成 APIの選択 Google Drive API Google Sheets API 認証情報 スプレッドシートの設定 python パッケージインストール gspread oaut…

【python】pandas でエクセルを読み込もうとしたらエラーになったので対応をメモ

pandas で以下のようにエクセルを読み込もうとしたらエラーになってしまいました。 エラー エラーのコード エラーの内容 対応 openpyxlをインストール コード修正 エラー エラーのコード 以下の処理を実行したところエラーになりました。 import pandas as p…

【python】「WARNING: `pyenv init -` no longer sets PATH.」の対応を調べる

pyenv を使っていたらある時期から以下の「warning」 が出て pyenv がおかしくなりました。 症状 回避方法 症状 pyenv コマンドを実行すると以下のエラーが表示されます。 WARNING: `pyenv init -` no longer sets PATH. Run `pyenv init` to see the necess…

Python で "No module named 'apiclient.discovery'" エラーへの対応

Python で "No module named 'apiclient.discovery'" と出て困った。以下を実行する。 from apiclient.discovery import build こんなエラーが出てくる。 --------------------------------------------------------------------------- ModuleNotFoundError…

【python】Run `pyenv init` to see the necessary changes to make to your configuration.

pyenv のバージョンを上げたら、pyenv の調子がおかしくなった。 (pyenv の表示と実際の python のバージョンが異なる) 症状 原因 回避方法 Warning 解決方法 動作確認 症状 pyenv でバージョンを確認すると、3.9.4 を使用していることになっているけど... $…

「SyntaxError: bytes can only contain ASCII literal characters.」

Pythonで全角文字をバイト変換しようとしたら、以下ようなエラーが出ました。 以下のように対応できそうです。 str = 'あ' print(str.encode("UTF-8")) 出力 b'\xe3\x81\x82'