django 我一直得到错误“ModuleNotFoundError:在我的www.example.com文件中没有名为'environ'的模块settings.py”,我已经在我的python shell中安装了依赖项

pkln4tw6  于 2023-05-30  发布在  Go
关注(0)|答案(4)|浏览(195)

我一直在我的www.example.com文件中得到一个environ的导入错误settings.py,我也在我的.venv文件中通过诗歌安装了它。这可能是设置文件之外的错误吗?

`
import environ

env = environ.Env(
    DEBUG=(bool, False),
    ENVIORNMENT=(str, 'PRODUCTION'),
)

environ.Env.read_env()

ENVIRONMENT= env.str('ENVIRONMENT')

SECRET_KEY = env.str('SECRET_KEY')

DEBUG = env.bool('DEBUG')

ALLOWED_HOSTS = tuple(env.list('ALLOWED_HOSTS'))

`
igetnqfo

igetnqfo1#

确保您使用的是所需的python解释器,您的virtualenv is setup correctly和所需的django-environ已通过安装在该virtualenv中。

(inside venv) pip install django-environ
lyr7nygr

lyr7nygr2#

出现此问题的原因如下:
1.你在吸毒。虚拟环境,但您在虚拟环境之外安装了模块。
1.你还没有在INSTALLED_APPS中的www.example.com文件中添加'environ'settings.py。(基于它的引用,这个包特别不需要!)

vu8f3i0k

vu8f3i0k3#

请确保您已完成以下三项操作:
1.通过以下命令安装软件包:
(inside venv) pip install django-environ
1.选择正确的Python解释器(您已经安装包的环境)
1.在项目根目录中创建一个“.env”文件。根据这里的参考文档,它应该包括如下内容:

DEBUG=on
SECRET_KEY=your-secret-key
DATABASE_URL=psql://user:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret
ctrmrzij

ctrmrzij4#

在我的例子中,我有一个environ.py文件与库导入冲突,更改文件名解决了这个问题。
对于Django,我使用了另一个选项,

from os import getenv
from dotenv import load_dotenv

load_dotenv()

创建一个.env文件沿着settings.py,然后你必须加载这些变量。例如:

CONFIGURATION = getenv("CONFIGURATION")

使用安装模块

pip install python-dotenv

相关问题