Django 已安装,但无法在 python 中导入 django

Django 已安装,但无法在 python 中导入 django

我通过多种方式安装了 Django,包括通过apt-getpip install。它们都说我拥有最新版本的 Django。现在,每当我在终端中运行 python 并输入 import django 时,我都会收到

ImportError: No module named django

然而,当我跑步时,django-admin --version我收到

1.4.3

我知道它已经安装了,但是为什么 python 找不到 django 模块?

答案1

python找不到,因为它不在其路径上。您可以看到查找模块的django路径列表,如下所示:python

$ python
>>> import sys
>>> sys.path

django如果找到安装位置,则可以导入,并将该位置添加到python路径中,例如这样:

$ PYTHONPATH=/path/to/django/parent/dir python
>>> import django  # should work now

但真正的问题是您的安装出了问题。如果您使用python安装了pythonAND ,那么肯定应该在的路径上,而不会出现上述肮脏的黑客行为。djangoapt-getdjangopython

也就是说,在使用 Django 时,最好的办法是不要使用,apt-get而是使用 创建虚拟环境virtualenv(您可以使用 安装virtualenvapt-get),并在虚拟环境中安装 Django 和您的 Django 站点可能需要使用的其他模块pip。这样,您就可以并排拥有多个 Django 项目,并精确地使用所需的 Python 模块和版本。这只是几个额外的步骤,但绝对值得,并且将为您节省未来的很多挫折。

答案2

当我使用 PyCharm 社区版制作 Django 项目时也遇到了同样的问题。

对我来说,以下步骤有效:

事实证明,python 希望您创建一个虚拟环境,在其中安装 django,然后运行服务器。为此,

创建虚拟环境

1)使用安装虚拟环境pip install virtualenv

2)导航到项目文件夹并输入virtualenv env(此处env是虚拟环境的名称。)这将创建一个名为env在项目文件夹内。

3)env/Scripts使用 导航到项目文件夹内部。cd env/Scripts

4) 输入activate并按 Enter。这将启动虚拟环境。您可以验证这一点,因为它将作为当前路径的前缀。(env)

安装 Django

cd ../..1)进入虚拟环境后,使用并输入返回项目文件夹pip install django

2)您可以通过键入来验证其安装django-admin --version。 它应该显示虚拟环境中安装的 django 版本号。

现在输入python manage.py runserver以启动python服务器。

答案3

我遇到了同样的问题。我激活了虚拟环境

$ source bin/activate 

之后它向我展示了 Django 的版本

无需安装任何东西。


mamata@mamta-inspire-all:~/dodjango$ python -m django --version
/usr/bin/python: No module named django

mamata@mamta-inspire-all:~/dodjango$ django-admin --version
Command 'django-admin' not found, but can be installed with:

sudo apt install python-django-common

mamata@mamta-inspire-all:~/dodjango$ source bin/activate

(dodjango) mamata@mamta-inspire-all:~/dodjango$ ls
bin  include  lib  lib64  mamusite  pyvenv.cfg  share

(dodjango) mamata@mamta-inspire-all:~/dodjango$ django-admin --version    
2.2.5

(dodjango) mamata@mamta-inspire-all:~/dodjango$ python -m django --version
2.2.5

答案4

我有这个问题,直到最近我的项目 vscode 仍然无法识别我的虚拟环境,所以每当我尝试运行该项目时,它都会给我一个错误,即 vscode 无法导入 django

解决这个问题的方法是,我将虚拟环境中的库导出到填充

pip freeze > req.txt

然后我创建了一个具有相同要求的新虚拟环境,并且它起作用了

注意:尝试查找python 虚拟环境

相关内容