●テスト●てすと
2021年08月19日
【プログラミング】Python本体とライブラリを書籍に書いてるバージョンでやりたい『Python1年生』
プログラミングの勉強してたら、ライブラリがうまく導入できなくて的なあるある
what making coding tutorials is really like #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円
Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ]
ショップ名:楽天ブックス
価格:2,420円
what making coding tutorials is really like #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円 |
Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ]
ショップ名:楽天ブックス
価格:2,420円
Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! [ 森 巧尚 ] 価格:2,420円 |
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/10916635
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック