'dotenv' 在 python3 中找不到模块。7 Telegram Bot 在 PythonAnywhere 中托管

'dotenv' module not found in a python3.7 Telegram Bot hosted in PythonAnywhere

我正在尝试在 PythonAnywhere 服务器上安装基于 AiogramTelegramBot。 我根据 python3.7 设置环境 我安装了依赖项:

pip install -r requirements.txt --user

我设置了环境并启动了它:

virtualenv env
. env/bin/activate

但是一旦我启动我的应用程序,这就是 load_dotenv:

上明显错误的结果
(env) 22:35 ~ $ python3 main.py
Traceback (most recent call last):
  File "main.py", line 4, in <module>
    import dispatcher
  File "lib/dispatcher.py", line 2, in <module>
    from dotenv import load_dotenv
ModuleNotFoundError: No module named 'dotenv'

知道为什么在 PythonAnywhere 服务器上 python-dotenv 库似乎无法正常工作吗?

谢谢

您需要运行 pip install -r requirements.txt 激活环境

您似乎混合了两种安装包的方式。 pip install--user 标志在 virtualenv 之外安装包。所以你应该 运行

. env/bin/activate
pip3 install -r requirements.txt
python3 main.py

如果还是不行,可能是你的requirements.txt文件里没有dotenv?尝试做

pip3 install dotenv

...看看是否有帮助。

这是正确的路径:

virtualenv -p python3 env

. env/bin/activate

pip3 install -r requirements.txt

否则 python 版本也存在混淆。