いつもお世話になったおります。
初歩的な質問で申し訳ございません。
Macでviscoseを使っています。
python3.6.5でpygameをインストールして、インポートしようとしたのですが、
「ModuleNotFoundError:No module named ‘pygame.base’」
とエラーになってしまいました。pygameがないという記事はよく見かけて、参考にしたのですが、pygame.baseはあまり見かけなく、困っております。
大変恐縮ですが、ご教示いただければ幸いです。よろしくお願いいたします。
どうやってインストールしたのでしょうか?
返信遅くなり申し訳ありません。
ターミナルで"python3 -m pip install --user pygame"でインストールしました。
ターミナル上で、サンプルのゲームは開けたのでインストールはできてると思われます。
この段階で、インポートすると、"ModuleNotFoundError:No module named ‘pygame’”となりました。そのため、パスが違うのかと思い、"print(sys.path)"を見たところ、pygameがインストールされた場所とは、異なる場所が参照されていたため、"sys.path.append('pygameがインストールされたパス')"で追加しました。そして、またインポートすると、上記のようなエラーになった次第です。
知識不足で稚拙なご説明になっているかもしれませんが、よろしくお願いいたします。
システム共通のライブラリと、ユーザライブラリが競合している感じですね。
ルート権限でライブラリインストールすることに拒否感が無ければ
python3 -m pip uninstall --user pygame
sudo python3 -m install pygame
を試してみてください。sys.path.appendは不要です。
ご回答ありがとうございます。
ご提案いただいたコードを試したのですが、
No module named install
と出てしまいました。
すみません。pipが抜けていました。
sudo python3 -m pip install pygame
上記実行で、既にあるぞ的なことを言われたら
sudo python3 -m pip install -U pygame
としてください。
sudo python3 -m pip install pygameでインストールすることができました。しかし、インポートはやはり、
ModuleNotFoundError:No module named ‘pygame"'
と出てきてしまいます。私が、最初に pyenv install 3.9.0とpythonをダウンロードし、その後、
pyenv install 3.6.5とpythonをダウンロードし、pyenv global 3.6.5としたことが関係あるのでしょうか。
pythonのバージョンは3.6.5で出るのに、sys.pathは「/python3.9/site-package」が選択されているので、気になってしまって。
pyenvを使っていることは初情報ですね。
またpython3.9は、しばらくはマトモに使えませんので、アンインストールしてください。
参考 https://teratail.com/questions/300242#reply-423082
python3コマンドはpyenvで仮想化されないため、直接python3.9が実行されているものと思います。
pyenv環境でpython3コマンドを使ってはダメです。
ますは混乱しないようにpython3.9をアンインストールしてください。
その後、sudo python3 -m は使わずにpip install pygameだけでpygameインストールしてください。
すいません。pythonをダウンロードする際に参考にしたサイトをそのまま写していた為、自身でも理解せず間違えていたようです。お手数おかけしてしまい大変申し訳ございません。
詳しく教えていただき誠にありがとうございます。
python3.9のアンイストール方法を調べてから、ご提案いただいたフローを行ってみたいとおもいます。
pyenv install 3.9.0でインストールしたのなら、
pyenv uninstall 3.9.0
でアンインストール出来ます。
アンインストールできました。ありがとうございます。
すいません、恥の上塗りで申し訳ないのですが、
no such file or directory
と出ます。パスの再設定はどのようにすればよろしいのでしょうか、、、
何をするとそう出ますか?
MacOSのバージョンも教えてください。
$HOME/.bashprofileか$HOME/.zprofileに3.9が書かれていませんか?
export PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH
といった文が含まれていると思います。
ここまでの段階で回答を書いておきます。
MacOS 10.15.6です。
ご提案いただいていた
①3.9.0のアンインストール
②python3 -m pip uninstall --user pygame
③pip install pygame
の順で行ったら無事にインポートできました。誠にありがとうございます。
昨日は、①と③のみを行い3.9のファイルが見つかりませんと出てきていました。
現状は.pyenv下の3.6.5下にpygameが保存されています。
回答でご指摘いただいていたとおり、pyenvの理解が浅く、まるで使いこなせいませんでした。生pythonの使いからを勉強しそちらに切り替えたいと思います。
ありがとうございます。
解決してなによりです。今後も遠慮なく質問してください。
お気遣いありがとうございます。
何卒よろしくお願いたします。
すいません。回答していただいてすぐに申し訳ないのですが、pyenvから生pythonに切り替える際に参考になるサイトなどあればご教授いただきたいです。
お手隙に際にご検討いただけましたら幸いです。
pyenvは魔窟なので笑、アンインストール手順は、サイトごとに微妙に異なりますね。
だいたいは
brew uninstall pyenv
rm -rf ~/.pyenv
~/.zprofile、~/.zshrc、~/.bash_profile、~/.bashrc の中でpyenvと書かれている箇所を消す
で消せそうです。そうすれば、python3、pip3で生Pythonの3系最新バージョンが使えます。
(私はvenvしか使いませんが)
venvは公式情報があるので、迷うことがありません。https://docs.python.org/ja/3/library/venv.html
何度もすいません。誠にありがとうございます。
無事、生pythonに変更することができました。
venvも今回のような理解しないでとりあえず入れてみた、にならないようにしっかりと学んでから、
導入してみようと思います。
本当にありがとうございました。
回答1件
あなたの回答
tips
プレビュー