23

我正在尝试在本地运行这个manage.py makemigrations项目,但是当我尝试时,我不断收到以下错误:

ImportError: cannot import name 'config' from 'decouple'

这是我的步骤:

  1. 从 github 克隆存储库
  2. 创建虚拟环境
  3. 安装依赖项

我做了一些研究,但我没有发现什么可能会产生该错误。谁能帮我解决这个问题?在此先感谢!我正在运行 Django 3。

4

6 回答 6

91

除了python-decouple(两个不同的包)之外,您可能还安装了decouple 。

如果是这种情况,只需卸载解耦

pip uninstall decouple

并确保您安装了python -decouple

pip install python-decouple
于 2020-07-21T01:31:05.203 回答
1

它显示错误,因为您没有安装模块 python-decouple 只需运行pip install -r requirements.txt 如果它不起作用,请在 env 中尝试

pip install python-decouple

于 2020-06-25T17:01:14.640 回答
0

我正在使用 pipenv 创建一个虚拟环境并运行 Django 项目

pipenv install -r requiremnts.txt
pipenv shell
python manage.py runserver

有趣的是,上面的方法一直抛出错误,它不能从解耦中导入配置

然后我尝试了:

python -m venv myEnv
myEnv/Scripts/activate
pip install -r requirements.txt
python manage.py runserver

这成功地运行了项目。我不明白为什么会发生这种情况,因为我只是使用 pip 而不是 pipenv。

于 2020-07-29T14:23:10.307 回答
0

我为此苦苦挣扎了一个小时,解决方法是关闭当前的 bash/终端窗口并打开一个新窗口。

于 2021-05-07T04:28:47.213 回答
0

我遇到了同样的问题,就我而言,这是由“解耦”和“python-decouple”包之间的冲突引起的(我错误地安装了它们)。由于后者在安装虚拟环境中创建了一个名为“decouple.py”的文件,找到了同名的包,这将混淆 Django 应用程序将考虑 2 个解耦引用中的哪一个。为了解决这个问题,我必须卸载“解耦”包pipenv uninstall decouple并安装“python-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
...

于 2021-03-27T13:00:32.013 回答
0

在尝试了几乎所有事情之后,为整个系统安装 python-decouple,而不是在环境中,对我有用。所以离开了虚拟环境,安装了 python-decouple 然后再次激活了我的环境。这个对我有用。

让我知道这是否有帮助。

于 2021-08-01T10:47:51.103 回答