Issue with Deploying Discord Bot on Railway – ModuleNotFoundError: No module named 'discord'
tayyab-ai
FREEOP

3 months ago

Hello Railway Support Team,
I am trying to deploy my Python Discord bot on Railway, but I keep encountering the following recurring error in the logs:
ModuleNotFoundError: No module named 'discord'
Despite multiple attempts, this issue remains unresolved.
Here are the key details of my setup and what I have tried so far:

  • My project’s main Python file is main.py, which imports the discord module.

  • I have a requirements.txt file placed correctly at the root of the repository, containing:

py-cord==2.3.2
flask
werkzeug
gunicorn

(I am using py-cord instead of discord.py because I understand it is the actively maintained fork supporting import discord.)
I included a Procfile with the line:
worker: python main.py

  • Locally, inside a fresh virtual environment, the bot runs perfectly when I install dependencies with this requirements.txt.

  • However, in Railway deployment logs, I do not see any indication of the pip install -r requirements.txt command being run or of the dependencies being installed.

  • The build logs indicate usage of Railway’s new build system (Railpack / uv), but it does not seem to install the Discord dependency, resulting in a crash with the missing module error.

  • Attempts to force cache clear and redeploy did not fix the problem.

  • Python version used is 3.11.13, specified either implicitly or in runtime.txt.

  • This final error is blocking me from successfully running my Discord bot on Railway.

  • Could you please advise why the dependencies, particularly py-cord, fail to install during build on Railway? Is there a known issue or additional build configuration needed to ensure that requirements.txt is processed correctly?

  • Also, is it recommended to specify any extra build settings or to add any specific files (like pyproject.toml) for proper Python dependency management in Railway builds?

I would highly appreciate any guidance or troubleshooting steps, or if someone on the team can inspect my project’s build environment.

Solved

0 Replies

adam
MODERATOR

3 months ago

Discord is not being installed, you need to explicitly add discord to your requirements.txt as well


adam
MODERATOR

3 months ago

Please share your full build logs


tayyab-ai
FREEOP

3 months ago

wait


tayyab-ai
FREEOP

3 months ago


adam
MODERATOR

3 months ago

You’re right that it’s not properly detecting your requirements.txt, it seems to think that your requirements are stored elsewhere. Please share the repo


tayyab-ai
FREEOP

3 months ago


adam
MODERATOR

3 months ago

It’s not public


tayyab-ai
FREEOP

3 months ago

damn. did you mean the repo is not public?


adam
MODERATOR

3 months ago

Yes


tayyab-ai
FREEOP

3 months ago

wait bro let me make it public


tayyab-ai
FREEOP

3 months ago


adam
MODERATOR

3 months ago

your requirement.txt file needs to be called requirements.txt


tayyab-ai
FREEOP

3 months ago

Ow, tnx dude


adam
MODERATOR

3 months ago

No prob, let me know if it works


tayyab-ai
FREEOP

3 months ago

yeah it worked! but another error was waiting for me😂 .
this one:
2025-09-13T19:06:53.000000000Z [inf] Starting Container
2025-09-13T19:06:53.749112825Z [err] DEBUG:asyncio:Using selector: EpollSelector
2025-09-13T19:06:53.749117254Z [err] WARNING:discord.client:PyNaCl is not installed, voice will NOT be supported
2025-09-13T19:06:53.749122616Z [err] DEBUG:discord.client:on_ready has successfully been registered as an event
2025-09-13T19:06:53.749127632Z [err] INFO:main:Starting Flask server and Discord bot
2025-09-13T19:06:53.749133380Z [err] INFO:discord.client:logging in using static token
2025-09-13T19:06:53.749137473Z [inf] * Serving Flask app 'main'
2025-09-13T19:06:53.749141482Z [inf] * Debug mode: off
2025-09-13T19:06:53.749145804Z [err] INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2025-09-13T19:06:53.749151517Z [err] * Running on all addresses (0.0.0.0)
2025-09-13T19:06:53.749158010Z [err] * Running on http://127.0.0.1:5000
2025-09-13T19:06:53.749163448Z [err] * Running on http://10.250.15.251:5000
2025-09-13T19:06:53.749167540Z [err] INFO:werkzeug:Press CTRL+C to quit
2025-09-13T19:06:53.749172044Z [err] DEBUG:discord.http:GET https://discord.com/api/v10/users/@me with None has returned 401
2025-09-13T19:06:53.749176815Z [err] INFO:discord.client:Cleaning up tasks.
2025-09-13T19:06:53.749183562Z [err] INFO:discord.client:Closing the event loop.
2025-09-13T19:06:53.749189101Z [err] ERROR:main:Bot or server failed to start: Improper token has been passed.


adam
MODERATOR

3 months ago

Well that’s a clearer error, your token is incorrect/not provided


adam
MODERATOR

3 months ago

!s


Status changed to Solved adam 3 months ago


Loading...