ブログサイトのロゴsui Tech Blog

Anacondaはシステム環境変数の設定方法が異なるらしい

Anacondaとcmdでは環境変数の設定方法が異なるという発見についての備忘録。

目的

皆様の時間を奪わないようにする。

経緯

discord.pyでシステム環境変数にDISCORD_BOT_TOKENとしてTOKENを設定したが、なぜかエラーになる。

調べたところ、Anacondaとcmdでは環境変数の設定が異なることを知った。

該当のソース(一部抜粋)

import osZ
import discord
 
## Bot のアクセストークン
DISCORD_BOT_TOKEN = os.environ.get("DISCORD_BOT_TOKEN")

システム環境変数にはTOKENの値が設定してある状態で、エラーが発生した。

解決法

🤔「せや!Chat GPTに聞いたろ!」

Anacondaを使用している場合、環境変数を設定する方法が異なります。次の手順に従って、Anaconda環境に環境変数を設定してください。
まず、Anaconda Promptを開きます。
現在の環境に環境変数を追加するには、次のコマンドを実行します
(your_tokenを実際のDiscord Botトークンに置き換えてください):
 
conda env config vars set DISCORD_BOT_TOKEN=your_token
 
環境変数が設定されたことを確認するには、次のコマンドを実行してください:
 
conda env config vars list
 
設定が完了したら、環境を再アクティブ化する必要があります。
次のコマンドを実行してください(your_env_nameを実際の環境名に置き換えてください):
 
conda activate your_env_name
 
これで、Anaconda環境に環境変数が設定され、Pythonスクリプトからアクセスできるようになります。
環境変数が正しく設定されているかどうかをテストするには、次のPythonコードを実行してください:
 
import os
 
discord_bot_token = os.environ.get("DISCORD_BOT_TOKEN")
print(f"Discord Bot Token: {discord_bot_token}")
 
これにより、設定した環境変数の値が表示されます。
 

実行結果

python source.py
 
>>> Discord Bot Token: 設定したトークン

...

関連記事

ClaudeCodeAgentsSkills

Claude Codeへ「スキルを使って」と言うのに疲れたあなたへ

Claude CodeのAgent Skillsは、ベストプラクティスに従った実装を自動化する優れた仕組みですが、Claudeの推論による実行判定には限界があります。Playwrightを例に挙げると、「クリック操作を修正して」のような自然な指示では、descriptionに「Playwright」が含まれていてもスキルが起動しないことがあります。本記事では、UserPromptSubmitフックを活用し、キーワードマッチングによってスキルを確実に起動させる実装方法を解説します。

記事を読む
RenovateGitHubActions

Renovate で作る「頑張らない」運用のすすめ

依存関係更新の手動対応をやめて、Renovate で自動化する方法をまとめました。クールダウン期間(minimum release age)を設定してサプライチェーン攻撃のリスクを回避しつつ、手間をかけずに安全性を維持する「頑張らない運用」の設計方針を紹介します。

記事を読む
AstroNext.jsPlaywright

Next.js から Astro へ。拡張性を捨て、シンプルさを選んだ理由

ブログに「何でもできる」Next.jsは過剰スペックでした。新機能に追いつけず、Web標準APIとの相性に悩んだ末、SSGに特化したAstroへ移行しました。拡張性を捨て、「必要最小限」を選んだ技術選択の記録です。

記事を読む