“ImportError:无法导入Django。”即使在Virtualen中安装了Django

2024-05-13 18:20:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手,我刚刚开始学习Django教程。我得到的概念是创建一个虚拟环境,在其中安装Django,然后在它旁边设置我的项目结构。但是,我一定是把事情搞砸了,因为我的“Python”管理.pymigrate”命令返回一个错误,即它找不到名为Django的模块,尽管我刚刚安装了Django。以下是我所做的:

PS D:\f drive\KK\Projects\Git\python\Dev> virtualenv kk_env
Using base prefix 'c:\\program files\\python37'
New python executable in D:\f drive\KK\Projects\Git\python\Dev\kk_env\Scripts\python.exe
Installing setuptools, pip, wheel...
done.
PS D:\f drive\KK\Projects\Git\python\Dev> pipenv --python 3.7 install django==2.2
Virtualenv already exists!
Removing existing virtualenv…
Creating a virtualenv for this project…
Pipfile: D:\f drive\KK\Projects\Git\python\Dev\Pipfile
Using C:/Python/Python37-32/python.exe (3.7.4) to create virtualenv…
[=   ] Creating virtual environment...Already using interpreter C:\Python\Python37-32\python.exe
Using base prefix 'C:\\Python\\Python37-32'
New python executable in C:\Users\karthik\.virtualenvs\Dev-g5SlP1CQ\Scripts\python.exe
Installing setuptools, pip, wheel...
done.
Running virtualenv with interpreter C:/Python/Python37-32/python.exe

Successfully created virtual environment!
Virtualenv location: C:\Users\karthik\.virtualenvs\Dev-g5SlP1CQ
Creating a Pipfile for this project…
Installing django==2.2…
Adding django to Pipfile's [packages]…
Installation Succeeded
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Success!
Updated Pipfile.lock (f002eb)!
Installing dependencies from Pipfile.lock (f002eb)…
  ================================ 3/3 - 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
PS D:\f drive\KK\Projects\Git\python\Dev> pipenv shell
Launching subshell in virtual environment…
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS D:\f drive\KK\Projects\Git\python\Dev> deactivate
PS D:\f drive\KK\Projects\Git\python\Dev> kk_env/Scripts/activate
(kk_env) PS D:\f drive\KK\Projects\Git\python\Dev> django-admin startproject dj_site
(kk_env) PS D:\f drive\KK\Projects\Git\python\Dev> mv dj_site dj_root
(kk_env) PS D:\f drive\KK\Projects\Git\python\Dev> cd dj_root
(kk_env) PS D:\f drive\KK\Projects\Git\python\Dev\dj_root> ls


    Directory: D:\f drive\KK\Projects\Git\python\Dev\dj_root


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        9/27/2019  12:12 AM                dj_site
-a----        9/27/2019  12:12 AM            648 manage.py


(kk_env) PS D:\f drive\KK\Projects\Git\python\Dev\dj_root> python manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 10, in main
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 16, in main
    ) from exc
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

从我的PowerShell历史中可以明显看出,我遵循两个不同教程中的约定,我怀疑这与这个错误有关(我最好的猜测是使用“pipenv”和“pip”来安装Django。但这是我的第二个问题)。你知道吗

我现在有两个问题:

  1. 我该如何摆脱这种状况?(如果有帮助的话,我还附上了我的项目结构截图)

  2. 在我之前的尝试中(在n次尝试之后),除了使用“pip install”django>;=2.2,<;3”来安装django之外,我几乎遵循了这些相同的步骤。一切都很顺利,只是我没有看到“pipfile”或“pipfile”pipfile.lock文件'作为安装的一部分创建。我模糊的理解是pipfile是我的项目可移植性所必需的,我真的很想在做基础工作的时候把它做好。这(缺少pipfile)是意料之中的还是我做园艺更好?

VS Code project screenshot


Tags: djangoindevgitenvvirtualenvdjdrive
2条回答

看起来你在一个错误的虚拟环境中,你离开了pipenv创建的一个,进入了另一个没有安装Django的环境。你知道吗

你可能是对的,这与以下两个过程有关。相反,您可能会发现只使用pipenv更容易。你知道吗

只需删除您的目录并启动一个新的powershell窗口,即可轻触out。你知道吗

那么,假设您已经安装了pipenv,您真正需要的是:

pipenv install django
pipenv shell
django-admin startproject dj_site
cd dj_site
python manage.py migrate
...

你的第一个命令- PS D:\f drive\KK\Projects\Git\python\Dev> virtualenv kk_env正在pwd中创建虚拟环境。你知道吗

您的第二个命令-PS D:\f drive\KK\Projects\Git\python\Dev> pipenv python 3.7 install django==2.2正在C:\Users\karthik\.virtualenvs\Dev-g5SlP1CQ创建一个虚拟环境,从输出语句可以看出-

Successfully created virtual environment!
Virtualenv location: C:\Users\karthik\.virtualenvs\Dev-g5SlP1CQ

现在,您正在上述虚拟环境中安装Django,而不是在kk_env中。这可能就是你在问题中所描述的错误的原因。你知道吗

您可以按显示的顺序运行以下命令,以实现所需的功能!你知道吗

  1. virtualenv kk_venv
  2. kk_env/Scripts/activate
  3. pip install django

希望这对你有帮助!你知道吗

相关问题 更多 >