Pythonが動かない原因はコードだけじゃない?現役SEが確認する実行環境のポイント

Pythonが動かない原因はコードだけじゃない?現役SEが確認する実行環境のポイント

記事
IT・テクノロジー
Pythonのプログラムを実行したとき、エラーが表示されると、

「コードの書き方が間違っているのでは?」

と考える方が多いと思います。

もちろん、コードに問題がある場合もあります。

しかし、実際にはコードが正しくても、Pythonのバージョンやライブラリ、ファイルの保存場所など、実行環境が原因で動かないことも少なくありません。

例えば、インターネット上で見つけたコードや、ChatGPTなどの生成AIに作ってもらったコードをそのまま実行しても、自分のパソコンではエラーになることがあります。

今回は、現役SEである私が、Pythonが動かないときに確認している実行環境のポイントを紹介します。

1.Pythonがインストールされているか確認する

まず確認したいのは、Pythonが正しくインストールされているかです。

WindowsのコマンドプロンプトやPowerShellでは、次のコマンドで確認できます。

python --version

環境によっては、次のコマンドを使用します。

py --version

UbuntuなどのLinux環境では、次のように確認することがあります。

python3 --version

Pythonのバージョンが表示されれば、インストールされています。

コマンドが見つからないというエラーが表示される場合は、Pythonがインストールされていないか、実行するためのパスが設定されていない可能性があります。

2.Pythonのバージョンが合っているか

Pythonがインストールされていても、バージョンが合わないために動かないことがあります。

例えば、使用したいライブラリが新しいPythonにまだ対応していなかったり、反対に古いPythonでは使用できなかったりする場合です。

インターネットの記事やAIが作ったコードを使用するときは、

・どのPythonバージョンを想定しているか
・使用するライブラリが対応しているか
・ほかの環境ではどのバージョンで動いているか

を確認します。

新しいバージョンほど必ずよいとは限りません。

使用したいライブラリとの相性を考えて、安定して利用できるバージョンを選ぶことが大切です。

3.必要なライブラリが入っているか

Pythonでは、標準機能だけでなく、外部ライブラリをインストールして使用することがよくあります。

例えば、次のようなライブラリです。

・データ加工に使用するpandas
・Excelファイルを扱うopenpyxl
・Webアプリを作成するFlask
・データベースへ接続するライブラリ
・AIや機械学習で使用するPyTorch

必要なライブラリが入っていない場合は、次のようなエラーが表示されます。

ModuleNotFoundError

ただし、ライブラリをインストールしたのに、同じエラーが出続ける場合もあります。

その場合は、実行しているPythonとは別の環境にライブラリをインストールしている可能性があります。

4.仮想環境が有効になっているか

Pythonの開発では、プロジェクトごとにライブラリを分けるため、仮想環境を使用することがあります。

仮想環境を使用すると、

・プロジェクトごとに異なるバージョンを使える
・ほかのプロジェクトへの影響を減らせる
・必要なライブラリを管理しやすくなる

といった利点があります。

一方で、仮想環境を有効にしないままプログラムを実行すると、インストールしたはずのライブラリが見つからないことがあります。

また、PyCharmやVisual Studio Codeなどの開発環境で、別のPythonインタープリターが選択されているケースもあります。

「インストールしたのに反映されない」ときは、現在どのPythonを使って実行しているのかを確認することが重要です。

5.ファイルやフォルダの場所を確認する

Pythonでは、CSV、Excel、画像、設定ファイルなど、外部ファイルを読み込むことがあります。

その際、コードに書かれた場所と実際の保存場所が異なると、ファイルを読み込めません。

よくある原因には、次のようなものがあります。

・ファイル名が違っている
・拡張子が違っている
・実行するフォルダが想定と異なる
・WindowsとUbuntuでパスの書き方が違う
・日本語や空白を含むフォルダ名が影響している

プログラムのファイルと読み込みたいデータを同じ場所に置いたつもりでも、実際には別のフォルダを基準に探している場合があります。

コードだけでなく、実行した場所も確認する必要があります。

6.OSによる違いを確認する

同じPythonコードでも、Windows、Ubuntu、macOSなど、使用するOSによって動作が異なることがあります。

特に注意したいのが、ファイルパスやコマンドの違いです。

Windowsでは円記号やバックスラッシュを使用する一方、Ubuntuなどではスラッシュを使用します。

また、ライブラリによっては、OSごとにインストール方法が異なったり、追加のソフトウェアが必要になったりすることもあります。

「ほかの人の環境では動いているのに、自分の環境では動かない」

という場合は、OSの違いも確認します。

7.エラーメッセージを最初から確認する

エラーが表示されると、最後の1行だけに注目しがちです。

しかし、Pythonのエラーメッセージには、

・どのファイルで発生したか
・どの行で発生したか
・どの処理から呼び出されたか
・どのようなエラーなのか

といった情報が含まれています。

エラーの最後だけでなく、その前に表示されている内容も確認することで、コードの問題なのか、環境の問題なのかを判断しやすくなります。

相談する場合も、エラーメッセージを途中で省略せずに共有すると、原因を見つけやすくなります。

コードを何度も変更する前に環境を確認する

Pythonが動かないとき、AIへエラーを伝えて、コードを何度も書き換えることがあります。

しかし、実行環境が原因だった場合、コードを変更しても問題は解決しません。

それどころか、もともと正しかったコードまで複雑になり、別の問題が増えることもあります。

そのため、コードを大きく修正する前に、

・Pythonのバージョン
・使用しているライブラリ
・仮想環境
・選択されているインタープリター
・ファイルの保存場所
・使用しているOS

を確認することが大切です。

Pythonの環境構築やエラーで困っている方へ

私は現役SEとして、Python、Flask、PostgreSQL、Ubuntu、Dockerなどを使用した開発に携わっています。

ココナラでは、次のようなご相談に対応しています。

・Pythonが起動しない原因の調査
・ライブラリをインストールできない問題
・仮想環境やインタープリターの設定
・WindowsやUbuntuでの環境構築
・AIが生成したコードの確認と修正
・既存プログラムのエラー調査
・読みづらくなったコードの整理

「何が原因なのか分からない」
「コードが悪いのか、パソコンの設定が悪いのか判断できない」
「エラーの内容をうまく説明できない」

という状態でも大丈夫です。

現在の状況やエラーメッセージを確認し、考えられる原因を一つずつ整理しながら進めます。

また、普段はPython、Flask、PostgreSQL、Ubuntu、Dockerなどについて、実際に環境を構築した手順や、開発中に発生した問題を初心者向けに発信しています。

これからPythonを始めたい方や、Webアプリ開発に挑戦したい方にも役立つ内容を、今後も紹介していきます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す