Python3最近環境周りでたまにハマる。
Ubuntuだとインストーラーがいろいろあって、このあたりがネックらしい。
全てのライブラリのバージョン管理とかどうやっても罠だらけだろうから仕方ない。
今回はpyxelというゲームエンジンを動かしてみようとする。
pyxelで遊んでみるとかいうタイトルでないのは結果うまくいかなかったから。
インストール普通に終わる。
サンプル動かす。
ModuleNotFoundError: No module named 'pyxel'
そんなライブラリないよといわれる。
インストールの内容から"/usr/local/lib/python3.7/site-packages/"ここにある
python3
>>> import sys
>>> sys.path
['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/home/sugi/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages']
いぜん3.7 exportでつなげた記憶があるのだけど、保存されていないらしい。
$ export PYTHONPATH="/usr/local/lib/python3.7/site-packages/"
追加する
サンプルを動かそうとすると今度はこんなエラー
raise ImportError("Failed to load GLFW3 shared library.")
ImportError: Failed to load GLFW3 shared library.
ということで追加
$ sudo apt-get install libglfw3
$ sudo apt-get install libglfw3-dev
サンプルを動かそうとすると今度はこんなエラー
Original error was: No module named 'numpy.core._multiarray_umath'
やばいこれ以前取れなかったエラーの気がする
少し調べるとnumpyのバージョンが違うからではとの情報発見
$ sudo pip3 install -U numpy
これでアップグレード
Installing collected packages: numpy
Found existing installation: numpy 1.16.2
Uninstalling numpy-1.16.2:
Successfully uninstalled numpy-1.16.2
Successfully installed numpy-1.16.3
よし、これでサンプルを実行
変わらず。
バージョン確認
>>> import numpy as np
>>> print(np.__version__)
1.15.2
どこかに古いものが残っているらしい。
ググって英語読むのにも疲れたので終了
脱皮がうまくいってない
もう少しあそんでみた。
Python3.6の方を削除すればいいんだろということで
sugi@a:~$ cd /home/sugi/.local/lib/python3.6/site-packages
sugi@a:~/.local/lib/python3.6/site-packages$ ls -ld numpy*
drwxr-xr-x 18 sugi sugi 4096 9月 24 2018 numpy
drwxr-xr-x 2 sugi sugi 4096 9月 24 2018 numpy-1.15.2.dist-info
とりあえず発見したフォルダにxxxをつけてみた。
おすすめしません
そしてわかったこと。実際にエラーをだしていたのは...
Successfully installed numpy-1.16.3 新しい方
ということでnumpyをアンインストールする。
3.6内にある古いものは削除されないらしい。そちらのファイル名を戻す。
よし!今度こそ...
ImportError: cannot import name '_imaging'
し、新型
これもPILとかpillowの統合したあたりの問題らしいが情報もいろいろ錯綜していてギブアップ。
以下、蛇足
来週の10連休とか、30ぐらいの言語好きな日本人がなんとなく暇を持て余して
新しい言語をつくちゃったりして、それが2045年頃に世界の主力言語に
なんてこともPythonとかフレームワークとかの誕生の経緯とかからすると
充分ありえる。
Reiwaとかそのままいけそう。
Reactive Environment In W3 Agent
ネット上のエージェントと呼ばれるAIが環境問題をこっそり直してくれる言語
言語かどうかもあやしい?