1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonでデータ集計にトライしてみたが手詰まりになった

Posted at

前回やったことのまとめ


・pandas-profiling(現:ydata-profiling)でデータ集計にトライ
・jupyterNotebookをインストール
・Python3.12をダウンロードし直しVS Codeにインストール



ということで、一日寝かせたトラブルと引き続き格闘。結果Ctrl不調の原因も判明。キーボード買い換えた。
これでようやくコピペが出来る。


さて目下の問題をまとめると

・pandas, ydata-profiling, pixiedustのインポートでエラー
・VS CodeのPythonインタープリターを3.12に変更したものの、仮想環境内のPythonのバージョンは3.13.1のまま

image.png


上記内容とエラー文をchatGPTに投げると

python -m pip install --upgrade pipでpipを最新版に更新
・各パッケージも更新
・カーネルを仮想環境に追加
python -m ipykernel install --user --name=myenv --display-name "Python 3.12 (.venv)"
⇒Notebookの上部メニューからKernel > Change Kernel > "Python 3.12 (.venv)"を選択、とのこと。

しかしjupyterNotebookのあれこれは全くわからないので、一旦VS Codeのターミナルで実行することにする。

さて、当然エラーが直るはずもなく、またまたchatGPTに原因を聞いてみる。

image.png

するとwhere pythonで仮想環境がアクティベートされているかの確認を勧められる。正しければ.venv\Scripts\python.exeで返ってくるらしい。
が、これを打ち込んでも無反応。これが原因っぽい。

仮想環境内のpython --versionは3.13.1のまま。これを3.12に直してから各パッケージをインストールすればpandas, ydata-profiling, pixiedustのインポートエラーが直りそう!!!!
希望が見えてきた。


pyenvを導入する

ではPythonのバージョンを変えよう。

Python3.6~3.8しか対応してないんだけどな~、でもインストールしたpythonのバージョン3.5なんやけど的な場面!いざ。

# homebrewをアップデートしておく。
brew update

image.png

ダメでした。ていうかMacのコマンドでした。
ちなみに僕はMacのコードなのかWindowsのコードなのかは全く見分けついてませんので、このように行き当たりばったりが基本です。


では別の手段でpyenvを導入しよう。

PowerShellを管理者権限で開き以下を実行。

Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1 -OutFile install-pyenv-win.ps1
& .\install-pyenv-win.ps1

二行に分かれていたような気もするけれどまとめてペーストしちゃった。でもその後、

pyenv install 3.12.6
pyenv global 3.12.6
python --version

でインストールし、確認したらPython 3.12.6が出てきたので成功したっぽい。VSCodeのインタープリターでも3.12.6が選択できるようになっている。
pyenvを導入すれば過去バージョンのPythonのインストールも切り替えも容易そうで便利 だね。

PowerShell,VSCodeをそれぞれ再起動してから、仮想環境を立ち上げpandas, ydata-profilingをインストールし直す。
ここまでやってようやくソースコードの波線が消えた!やったー!!

やっと…やっと実行出来る………

ModuleNotFoundError: No module named 'pkg_resources'

はあ…??


setuptoolsを更新してみたが…

ChatGPTに聞けば、ydata_profilingの内部で使っているpkg_resourceが参照できない、というエラーらしい。

Qiitaの記事にもsetuptoolsを入れて解決というものがあったので間違ってはなさそう。というわけでインストール。

pip install --upgrade pip setuptools

pip install --upgrade ydata-profiling

pip listした結果がこう。(主要箇所を抜粋)

numpy           2.3.3
pandas          2.3.2
setuptools      80.9.0
ydata-profiling 4.16.1

特に問題ないよう思えるが再度実行。

import pandas as pd
from ydata_profiling import ProfileReport
# import pixiedust as px

df = pd.read_csv('testfile.csv')
profile = ProfileReport(df, title="Profiling Report")
profile.to_file("report.html")
# px.display(df)

が、再び同じエラー。

はあ………完全に詰まった………


まとめ

・pyenvでPythonのバージョンを気軽に替えられるようになった
・モジュールのインポートエラーは解決
・ModuleNotFoundError: No module named 'pkg_resources'の解決手段がわからない

ここに記述した以外にも色々試したり、他の記事も読んでみたりしたけれどやっぱりわからんです。途中、生成AIが書いたら危険なコードチェックリストなども拝見しましたが、何が問題でどういう意図で改善しているのかも全くピンと来なかった。これ以上何を頼ればいいんだ………はあ………

何時間かけたとか何文字書いたとかそういう自慢よりも、作業密度や成果で語るべきなのはわかっていますが、5分で出来るという触れ込みのコラムに2週間格闘して何も進まない現実に叩きのめされ、打ちひしがれている。

来週こそ前進するのかなあ。はあ………


ではでは。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?