即使安装正确,Pycharm也无法识别django。为什么?

问题描述 投票:5回答:11

我已经在3.4的原生虚拟环境下设置了我的项目,并且已经有一段时间了,并且工作正常。但由于某种原因,我现在遇到通过Pycharm运行我的项目的问题。只是检查一切设置是否正确,我做了以下事情:

>>> import sys
>>> sys.path
>>> import django

我可以确认PROJECT/lib/python3.4/site-packages包含在路径中,并且Django已安装在此路径中。

但是,当我尝试通过Pycharm运行项目时,我得到了ImportError: No module named 'django'。我将以下内容添加到Django的manage.py中进行故障排除:

sys.stdout.write(', '.join(sys.path))

site-packages目录无处可寻。接下来,我进入“设置>项目解释器”以确保我选择了正确的解释器。它在虚拟环境下列出了Python 3.4,并将Django作为第一个已安装的软件包。

我的问题,那是什么,Pycharm?虚拟环境显然已正确设置。 python终端的路径是正确的,Pycharm本身在它的项目解释器部分下识别虚拟环境中的所有包。那么,为什么当我实际运行项目时,Pycharm愚蠢地决定忘记使用虚拟环境运行项目而不使用正确的python路径?这里有点沮丧。将不胜感激任何建议。

python django import virtualenv pycharm
11个回答
5
投票

如果您使用的是虚拟环境,请转到

文件>设置>项目:PycharmProjects>项目解释器

对于当前项目,在选择框中选择virtualenv中的Python路径。你的python的路径看起来类似于:

~/PycharmProjects/your-project-path/venv/bin/python

0
投票

对我来说问题有点不同。解释器配置得很好,但我的Pycharm根目录不正确。

我使用以下Pycharm项目结构:

/.idea/
/env/
/django-project-name/app1/
/django-project-name/app2/
/django-project-name/django-project-name/settings.py
/django-project-name/manage.py

你有两种可能性:

1 - 您可以直接在/ django-project-name /中创建一个新的django项目(最简单的 - /.idea/从/向/ django-project-name /移动)

2 - 定义源forder

你必须去Pycharm设置>项目:>项目结构;然后将项目目录标记为“Sources”(只需单击django项目文件夹,然后单击“Sources at the top”)。

最后,重启Pycharm。


0
投票

对我来说,似乎PyCharm的project_creator文件中的第5行正在寻找“django”,但虚拟环境正在安装“Django”(大写字母D)。

我没有试图找到文件并进行调整(如果可能的话)但是我想我现在要把我的2美分放在这里:)


3
投票

我面临着类似的问题。 Pycharm没有显示和django选项。要配置我做了以下事情:

  • 去编辑配置(运行/调试菜单)
  • 在脚本路径中提供您的manage.py位置
  • 在参数中提供'runserver'
  • 在python解释器中提供虚拟环境中的python位置

现在您可以使用pycharm运行和调试django项目。


1
投票

至少就目前而言,我能解决这个问题的方法是进入运行/调试配置并手动设置PYTHONPATH环境变量以包含安装所有内容的site-packages目录。一旦完成,一切正常。仍然不知道为什么会在终端中存在,但是当我使用相同的venv时,不会在Pycharm中设置。对我来说,为什么这似乎突然发生也没有任何意义。很奇怪。


1
投票

刚遇到同样的问题,我去了外部库 - >解释器 - >站点包和“重新同步”的forlder。 django红外线。在我看来,在我安装了一些软件包后,pycharm没有更新项目结构。


1
投票

本地的django版本可能与保存到虚拟环境中的版本不同。为了解决这个问题,intellij中的解释器必须指向保存到虚拟环境中的python文件。为了执行以下操作:

  1. 进入Pycharm中的项目解释器设置。 (命令+',')
  2. 在Project Interpreter选项中,给出项目所在的virtualenv中bin目录中的python3路径。
  3. 应用这些更改应删除errorenter image description here
  4. 在上面的图中,突出显示的文本显示了python二进制文件所在的位置。

0
投票

确保您的运行配置正确指向正确的虚拟环境。转到运行菜单 - >编辑配置...然后选择您正在使用的Django服务器配置,并进行编辑。确保正确设置其Python解释器。


0
投票

PyCharm控制PYTHONPATH本身,它忽略从父shell获得的任何东西(我想保持项目的行为确定性)。

查看有关配置项目解释器路径的文档:https://www.jetbrains.com/pycharm/help/installing-uninstalling-and-reloading-interpreter-paths.html


0
投票

如果在系统中安装Django而不激活虚拟环境,那么只有pycharm才能识别导入。因此,如果您已经在某个虚拟环境中安装了Django,那么从该环境中删除所有这些环境或Django,然后不激活venv run命令“pip install Django == version”。

为什么你需要删除已安装Django的所有venv?

如果你没有,然后运行“pip install Django”,那么它将显示它已经安装。这就是你必须删除所有venv的原因。

在不激活虚拟环境的情况下安装Django后,您可以创建新的虚拟环境并完成工作。

这就是我解决这个问题的方法!


0
投票

转到首选项 - >库和框架 - > Django并将PYTHONPATH添加到具有值的环境变量:$ PYTHONPATH:/ <your virtualenv site-packages directory>

适合我。

© www.soinside.com 2019 - 2024. All rights reserved.