问题描述
我正在做一个 django 项目,作为一个小型个人网站的后端,django 内置的 localhost 服务器运行顺利,直到我不小心删除了 windows 10 中 python 的应用程序执行别名(它只是在完成之后发生,可能不是罪魁祸首)。情况是,当我使用 manage.py 时,它总是导致 没有名为“django”的模块
(venv) C:\Users\hongl\PycharmProjects\fluentdesign>manage.py runserver
Traceback (most recent call last):
File "C:\Users\hongl\PycharmProjects\fluentdesign\manage.py",line 11,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 "C:\Users\hongl\PycharmProjects\fluentdesign\manage.py",line 22,in <module>
main()
File "C:\Users\hongl\PycharmProjects\fluentdesign\manage.py",line 13,in main
raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHO
NPATH environment variable? Did you forget to activate a virtual environment?
我试图稍微解决它,但只是困惑地发现已经激活了 venv 的终端在运行时始终连接到系统级 python,其中没有安装 django。以下是来自 venv 的 python 控制台:
(venv) C:\Users\hongl\PycharmProjects\fluentdesign>python
Python 3.8.9 (tags/v3.8.9:a743f81,Apr 6 2021,14:02:34) [MSC v.1928 64 bit (AMD64)] on win
32
Type "help","copyright","credits" or "license" for more @R_831_4045@ion.
>>> import sys
>>> print(*sys.path,sep='\n')
C:\Users\hongl\PycharmProjects\fluentdesign\venv\Scripts
C:\Users\hongl\PycharmProjects\fluentdesign
C:\Users\hongl\AppData\Local\Programs\Python\python38\python38.zip
C:\Users\hongl\AppData\Local\Programs\Python\python38\DLLs
C:\Users\hongl\AppData\Local\Programs\Python\python38\lib
C:\Users\hongl\AppData\Local\Programs\Python\python38
C:\Users\hongl\PycharmProjects\fluentdesign\venv
C:\Users\hongl\PycharmProjects\fluentdesign\venv\lib\site-packages
我只想通过 manage.py 知道 django 内置服务器发生了什么,为什么我不能在 venv 中使用 python 运行它,它安装了所有必要的软件包而不是系统级 python?
解决方法
我无法发表评论,但我会作为答案发布,尽管我不确定这是否能解决您的问题。
您确定 Django 安装在您的 venv 上吗?尝试 pip list
或 pip3 list
(取决于系统)如果 django 没有出现在该列表中,您可能需要安装它。
如果您使用的是 pycharm,您可以使用可视化界面来修改您的 venv see here