Django - 无法从 'decouple' 导入名称 'config'
Django - cannot import name 'config' from 'decouple'
我正在尝试 运行 this 在本地进行投影,但是当我尝试 manage.py makemigrations
时,我不断收到以下错误:
ImportError: cannot import name 'config' from 'decouple'
这是我的步骤:
- 从 github
克隆存储库
- 创建虚拟环境
- 安装依赖项
我进行了一些研究,但没有发现可能导致该错误的原因。谁能帮我解决这个问题?提前致谢!我是 运行宁 Django 3.
显示错误是因为你没有安装模块python-decouple
就 运行 pip install -r requirements.txt
如果它不起作用,请在 env
中尝试
pip install python-decouple
您可能有 decouple installed in additional to python-decouple(两个不同的包)。
如果是这种情况,只需卸载 decouple
pip uninstall decouple
并确保安装了 python-decouple
pip install python-decouple
我正在使用 pipenv 创建虚拟环境和 运行 Django 项目
pipenv install -r requiremnts.txt
pipenv shell
python manage.py runserver
有趣的是,上面的方法不断抛出错误,它无法从 decouple 中导入配置
然后我尝试了:
python -m venv myEnv
myEnv/Scripts/activate
pip install -r requirements.txt
python manage.py runserver
和这个运行项目成功。我不明白为什么会发生这种情况,因为我只是使用 pip 而不是 pipenv 来做几乎相同的事情。
我遇到了同样的问题,就我而言,这是由“decouple”和“python-decouple”包之间的冲突引起的(我错误地安装了这两个包)。由于后者在安装虚拟环境中创建了一个名为“decouple.py”的文件,找到同名包,这将混淆 Django 应用程序将考虑 2 个解耦引用中的哪一个。要解决此问题,我必须使用 pipenv uninstall decouple
卸载“decouple”包并使用 pipenv install python-decouple
.
安装“python-decouple”包
...
class AutoConfig(object):
"""
Autodetects the config file and type.
Parameters
----------
search_path : str, optional
Initial search path. If empty, the default search path is the
caller's path.
"""
...
# A pré-instantiated AutoConfig to improve decouple's usability
# now just import config and start using with no configuration.
config = AutoConfig()
# Helpers
...
我为此苦苦挣扎了一个小时,解决方法是关闭当前 bash/terminal window 并打开一个新的。
在几乎尝试了一切之后,为整个系统安装 python-decouple,而不是在一个环境中,对我有用。所以离开虚拟环境,安装 python-decouple 然后再次激活我的环境。它对我有用。
如果有帮助请告诉我。
发生错误是因为您的 python 解释器正在寻找 python-decouple
包而不是 decouple
使用此命令卸载现有包
pip uninstall decouple
然后安装
pip install python-decouple
我正在尝试 运行 this 在本地进行投影,但是当我尝试 manage.py makemigrations
时,我不断收到以下错误:
ImportError: cannot import name 'config' from 'decouple'
这是我的步骤:
- 从 github 克隆存储库
- 创建虚拟环境
- 安装依赖项
我进行了一些研究,但没有发现可能导致该错误的原因。谁能帮我解决这个问题?提前致谢!我是 运行宁 Django 3.
显示错误是因为你没有安装模块python-decouple
就 运行 pip install -r requirements.txt
如果它不起作用,请在 env
pip install python-decouple
您可能有 decouple installed in additional to python-decouple(两个不同的包)。
如果是这种情况,只需卸载 decouple
pip uninstall decouple
并确保安装了 python-decouple
pip install python-decouple
我正在使用 pipenv 创建虚拟环境和 运行 Django 项目
pipenv install -r requiremnts.txt
pipenv shell
python manage.py runserver
有趣的是,上面的方法不断抛出错误,它无法从 decouple 中导入配置
然后我尝试了:
python -m venv myEnv
myEnv/Scripts/activate
pip install -r requirements.txt
python manage.py runserver
和这个运行项目成功。我不明白为什么会发生这种情况,因为我只是使用 pip 而不是 pipenv 来做几乎相同的事情。
我遇到了同样的问题,就我而言,这是由“decouple”和“python-decouple”包之间的冲突引起的(我错误地安装了这两个包)。由于后者在安装虚拟环境中创建了一个名为“decouple.py”的文件,找到同名包,这将混淆 Django 应用程序将考虑 2 个解耦引用中的哪一个。要解决此问题,我必须使用 pipenv uninstall decouple
卸载“decouple”包并使用 pipenv install python-decouple
.
...
class AutoConfig(object):
"""
Autodetects the config file and type.
Parameters
----------
search_path : str, optional
Initial search path. If empty, the default search path is the
caller's path.
"""
...
# A pré-instantiated AutoConfig to improve decouple's usability
# now just import config and start using with no configuration.
config = AutoConfig()
# Helpers
...
我为此苦苦挣扎了一个小时,解决方法是关闭当前 bash/terminal window 并打开一个新的。
在几乎尝试了一切之后,为整个系统安装 python-decouple,而不是在一个环境中,对我有用。所以离开虚拟环境,安装 python-decouple 然后再次激活我的环境。它对我有用。
如果有帮助请告诉我。
发生错误是因为您的 python 解释器正在寻找 python-decouple
包而不是 decouple
使用此命令卸载现有包
pip uninstall decouple
然后安装
pip install python-decouple