"ImportError: Couldn't import Django." even after installing Django within Virtualenv
"ImportError: Couldn't import Django." even after installing Django within Virtualenv
我是 Python 的新手,我刚刚接触 Django 教程。我得到了创建虚拟环境的概念,在其中安装 Django,然后在它旁边设置我的项目结构。但是,我一定是搞砸了,因为我的 "python manage.py migrate" 命令 returns 出现错误,它找不到名为 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" vs "pip" 用于安装 Django。但这是我的第二个问题)。
我现在有两个问题:
如何摆脱这种情况? (我也附上了我的项目结构的截图,如果有帮助的话)
在我之前的尝试中(在 n 次尝试之后),除了使用 'pip install "django>=2.2,<3"' 安装 Django 之外,我几乎遵循了这些相同的步骤。一切正常,除了我没有看到 'pipfile' 或 'pipfile.lock' 作为该安装的一部分创建。我模糊的理解是我的项目的可移植性需要 pipfile,我真的很想在做基础的时候把它做好。这是预期的(缺少 pipfile)还是我最好还是做园艺?
VS Code project screenshot
你似乎进入了错误的虚拟环境,你离开了 pipenv 创建的那个,进入了另一个没有安装 Django 的环境。
您可能是对的,这与以下两个过程有关。相反,您可能会发现仅使用 pipenv 更容易。
要点击,只需删除您的目录并启动一个新的 powershell window。
然后,假设您已经安装了 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
现在,您正在上述虚拟环境中而不是 kk_env
中安装 Django。这可能是您收到问题中描述的错误的原因。
您可以运行按照它们出现的顺序执行以下命令来实现您想要的!
virtualenv kk_venv
kk_env/Scripts/activate
pip install django
希望对您有所帮助!
我是 Python 的新手,我刚刚接触 Django 教程。我得到了创建虚拟环境的概念,在其中安装 Django,然后在它旁边设置我的项目结构。但是,我一定是搞砸了,因为我的 "python manage.py migrate" 命令 returns 出现错误,它找不到名为 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" vs "pip" 用于安装 Django。但这是我的第二个问题)。
我现在有两个问题:
如何摆脱这种情况? (我也附上了我的项目结构的截图,如果有帮助的话)
在我之前的尝试中(在 n 次尝试之后),除了使用 'pip install "django>=2.2,<3"' 安装 Django 之外,我几乎遵循了这些相同的步骤。一切正常,除了我没有看到 'pipfile' 或 'pipfile.lock' 作为该安装的一部分创建。我模糊的理解是我的项目的可移植性需要 pipfile,我真的很想在做基础的时候把它做好。这是预期的(缺少 pipfile)还是我最好还是做园艺?
VS Code project screenshot
你似乎进入了错误的虚拟环境,你离开了 pipenv 创建的那个,进入了另一个没有安装 Django 的环境。
您可能是对的,这与以下两个过程有关。相反,您可能会发现仅使用 pipenv 更容易。
要点击,只需删除您的目录并启动一个新的 powershell window。
然后,假设您已经安装了 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
现在,您正在上述虚拟环境中而不是 kk_env
中安装 Django。这可能是您收到问题中描述的错误的原因。
您可以运行按照它们出现的顺序执行以下命令来实现您想要的!
virtualenv kk_venv
kk_env/Scripts/activate
pip install django
希望对您有所帮助!