実現したいこと
- VScode内でpythonファイルを実行したときにのみ発生するDotenvのModuleNotFoundErrorを解決したい。
前提
VScodeを用いて、PythonでDiscordのBotを開発している最中です。
コマンドプロンプトから開発中のプログラムであるDiscordBot.pyを実行した場合は問題なく動作するのですが、VScodeの画面右上の”新しいPythonファイル”からプログラムを実行すると、dotenvに対してのみModuleNotFoundErrorが発生します。
dotenvをインポートするコードをコメントアウトするとModuleNotFoundErrorは生じないため、dotenv以外のライブラリは問題なくインポートできていると考えています。
発生している問題・エラーメッセージ
(venv) C:\Users\〇〇\work\DiscordBot>C:/Users/〇〇/work/virtualenvs/venv/Scripts/python.exe c:/Users/〇〇/work/DiscordBot/DiscordBot.py Traceback (most recent call last): File "c:\Users\〇〇\work\DiscordBot\DiscordBot.py", line 2, in <module> from dotenv import load_dotenv ModuleNotFoundError: No module named 'dotenv'
該当のソースコード
import os from dotenv import load_dotenv import discord import random import emoji import datetime #自分のBotのアクセストークンを取得 load_dotenv() token = os.getenv("DiscordBot_token")
試したこと
1, pip listを用いて仮想環境"venv"内にpython-dotenv 1.0.0がインストールされていることを確認した。また、VScodeの画面右下から仮想環境"venv"が選択されていることを確認した。
2, VScode内でターミナルを起動し、そこでファイル名を指定してプログラムを実行した。この場合、問題なく動作した。
3, エラーが発生しているfrom dotenv import load_dotenvの箇所とこれを利用する
load_dotenv()
token = os.getenv("DiscordBot_token")
の計3行をコメントアウトし、tokenを直接入力した。
この場合場合はVScode内でも問題なく動作した。
補足情報(FW/ツールのバージョンなど)
ツール等のバージョンは下記のとおりです。
Visual Studio Code : 1.80.1(user setup)
Python : 3.11.3
python-dotenv : 1.0.0

回答2件
あなたの回答
tips
プレビュー