アフィリエイト広告を利用しています
検索
プロフィール
かめ太さんの画像
かめ太
プロフィール
記事のカテゴリー
動画URLから埋め込みタグ生成
YouTube(10)
パソコン(222)
英語(8)
投資、お金(586)
生活(63)
test(9)
blog管理(4)
BGM(19)
国際情勢(6)
python(22)
不動産(18)
Access(3)
javascript(34)
Programming(107)
todo(2)
スマホアプリ(3)
web(10)
イラスト・デザイン(13)
ゲーム開発(42)
リンクメモ(いろいろ)(3)
※投資関連の記事だけ見たい方は、「投資、お金」をクリック!
他ジャンルの記事が表示されず見やすくなります。
お気に入りに入れる場合なども、カテゴリーをクリックしてから入れておくと便利ですよ。


memo 再生リスト埋め込み用URL
https://www.youtube.com/embed/?listType=playlist&list=
リンク集
雪●投資・お金系サイト晴れ
  1. 空売り.net (karauri.net)
  2. iMarket 適時開示ネット(決算期に便利なサイト)
  3. 東証 業種別株価指数 リアルタイム
  4. 世界の株価
details_test
  1. 東証 業種別株価指数 リアルタイム
  2. 世界の株価
<< 2023年11月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
ファン
最新記事
写真ギャラリー
最新コメント
タグクラウド
日別アーカイブ
QRコード

広告

posted by fanblog
●テスト●てすと

2021年08月19日

【プログラミング】Python本体とライブラリを書籍に書いてるバージョンでやりたい『Python1年生』

プログラミングの勉強してたら、ライブラリがうまく導入できなくて的なあるある
what making coding tutorials is really like 顔1(うれしいカオ)あせあせ(飛び散る汗) #shorts
https://www.youtube.com/watch?v=9qkzDLos7fk


注意喚起。
下記でいけると思ったんですが、p.168のコードが上手く作動しません。

原因は入力などのうっかりミスかもしれないですが
ざっと見た感じはライブラリ関係の相性みたいです。

なのでそのまま下記と同じようにやると同じとこで不具合が起きるかもしれないです。
引き続き調査します。



p.168がよくわからないけどなんかちゃんと動いたと思ったら
p.169がさっそくまた動かない

さっそくまた!?と思いつつ

今まで、python3.6でやってたけど
次は試しに、最新の3.9の方に今度は深く考えず、
ざっとライブラリを入れてみる

pip install numpy
pip install scipy
pip install scikit-learn
pip install matplotlib

あとよくわかってないので
pip install wheel もインストールして
python3.9で実行してみる

が、べつに3.6と同じエラーが出るだけ…。

書籍と現状バージョンのズレってややこしいようねと思いつつ
さぁどこから手を打っていいのかわからない。

途方にくれて今一度あらためて、もう一度念のためにコードを見てみる。

plt.imshow(digits.images[i],cmap="Greys") を
plt.imshow(digits.images[i],cmap="Grey") と書いてただけだった。
修正したらちゃんと動いた。

一つ前のページで、確かにライブラリ関連ではまってたから
また同じことが起きてるのかと思うよね。



py -3.6 -m pip install numpy --upgrade

よくわからんから↑やってみたがダメだった。

下記をふまえて、よくわからんからとりあえず
numpyをアップグレードしてみたが
別に違うエラーが出てくるだけで解決しなかった。

エラーでsklearnに言及されてるので
ためしにsklearnもバージョンアップしてみたがダメだった。

ちなみに、現状のライブラリ一覧とバージョン
●は、今回関係してる感じのやつ

py -3.6 -m pip list

バージョンアップ前
cycler (0.10.0)
joblib (1.0.1)
kiwisolver (1.3.1)
●numpy (1.13.3) ←バージョンアップ
●pip (9.0.1)
python-dateutil (2.8.2)
●scikit-learn (0.24.2) ←バージョンアップ
●scipy (1.0.0)
setuptools (28.8.0)
six (1.16.0)
threadpoolctl (2.2.0)
●wheel (0.37.0) 

バージョンアップ後
cycler (0.10.0)
joblib (1.0.1)
kiwisolver (1.3.1)
●matplotlib (3.3.4)
●numpy (1.19.5) ←バージョンアップ
●Pillow (8.3.1)
●pip (9.0.1)
pyparsing (2.4.7)
python-dateutil (2.8.2)
●scikit-learn (0.24.2) ←バージョンアップ、あれ?バージョン変わってない!
●scipy (1.5.4)
setuptools (28.8.0)
six (1.16.0)
sklearn (0.0)
threadpoolctl (2.2.0)
●wheel (0.37.0)

あれ?数も増えてるぞ
これもうわかんないな
ライブラリによっては1つインストールすると、付属で何個かインストールされるとかあるのかな

アップグレードするつもりで、
py -3.6 -m pip install scikit-learn --upgrade とせずに
py -3.6 -m pip install sklearn --upgrade ってやったのが関係してるのか

py -3.6 -m pip install scikit-learn --upgrade でやり直したら、
Requirement already up-to-date と出る
ちゃんとできてたようだ

ここで、もう一度問題のコード p.168 "digitsImage1.py"を実行してみると…

なぜかちゃんと動作した!w
よくわからないけど、アップグレードしたのが良かったような感じ

てことは今回の例では、理由はわからないけど
書籍どおりのバージョンじゃなくてもなんとかなった感じ
というか、書籍どおりのバージョンにこだわりすぎて逆にはまった感じかな

まぁそんなもん運しだいというか、その書籍、その言語、ツール、バージョンによって
たまたま今回はっていう話だったので単なるケースバイケースなんだろうけど



RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
https://teratail.com/questions/177531

google翻訳
モジュールはAPIバージョン0xcに対してコンパイルされていますが、このバージョンのnumpyは0xbです。

「module compiled against API version」でぐぐると、
http://nonbiri-tereka.hatenablog.com/entry/2015/04/27/114536
ってのがひっかかりますが、参考になるでしょうか。


10進数16進数
https://qiita.com/inabe49/items/805c2d2bcd9e70c37ef6
10進数 16進数
 11   0xB
 12   0xC

つまり
 モジュールはAPIバージョン0xc【12】に対してコンパイルされていますが、
 このバージョンのnumpyは0xb【11】です。

はて、今の自分のnumpyのバージョンは、1.13.3なのだが…?

RuntimeError: module compiled against API version 0xc but this version of numpy is 0x9
というエラーが発生します
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10204544165

ある日、いきなりOpenCVが動かなくなった
https://nonbiri-tereka.hatenablog.com/entry/2015/04/27/114536
numpyをMacにインストールしてハマル
http://radpy.blogspot.com/2009/06/numpymac.html

(
scikit-learnとsklearnの違い
https://codehero.jp/python/38733220/difference-between-scikit-learn-and-sklearn
)



【プログラミング】Python本体とライブラリを書籍に書いてるバージョンでやりたい『Python1年生』
(なるべく)


Pythonのバージョンを指定して実行する方法

バージョンを管轄してくれるpy.exeを利用する

●コマンドでやる例 (ライブラリ一覧を見たり、追加する場合)
py -3.6 -m pip list
py -3.6 -m pip install wheel

 ちなみに普通は
pip list
pip install wheel
 とやると、インストール済のPythonのうちの、最新バージョンのやつとか
 環境変数にパス通してるやつ(?)のライブラリとしてやってくれる

●.pyファイルに記述してやる場合
 ↓ファイルの最初にこれを書いておく
#!python3.6
すると、py.exeがインストール済の該当バージョンを割り当てる



ライブラリのインストール (第5章くらいのやつ)
ぱっとネット見たところ、同じバージョンのライブラリがなかったりするのでやる方法

・numpy
・scipy
・scikit-learn
・matplotlib

最初の2つが、書籍ではバージョン指定されてるがない

https://www.lfd.uci.edu/~gohlke/pythonlibs/
に該当バージョンがないので

コマンドラインで
py -3.6 -m pip install numpy==1.13.3
py -3.6 -m pip install scipy==1.0.0
py -3.6 -m pip install scikit-learn
py -3.6 -m pip install matplotlib

↑最初の2つ、後ろのバージョン指定に注目

ちなみに「py -3.6 -m」の部分はあえて、Python3.6でやるために
3.6にライブラリを追加するための指定方法



参考

●同じライブラリがないとき
wheel形式のnumpyダウンロードについて
https://teratail.com/questions/277823

●Pythonの複数バージョン使い分けなど
 2021年03月20日
Windows で複数バージョンの Python を使う
https://qiita.com/landwarrior/items/1b5e0f9af5316a025fe0

 2020年07月28日
【Pyhton】お手軽に複数バージョンの環境構築 for Windows
https://qiita.com/YUKI-SOKENDAI/items/4e3439e90fdd6c77e45e



お求めはこちらで

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ [ 森 巧尚 ]
 ショップ名:楽天ブックス
 価格:2,178円

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ [ 森 巧尚 ]

価格:2,178円
(2021/8/19 14:28時点)
感想(3件)




Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ]
 ショップ名:楽天ブックス
 価格:2,420円

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ]

価格:2,420円
(2021/8/19 14:29時点)
感想(1件)


posted by かめ太 at 09:07 | Comment(0) | TrackBack(0) | パソコン
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/10916635
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は30日以上新しい記事の更新がないブログに表示されております。