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

时间:2015-07-01 13:36:07

标签: python django import virtualenv pycharm

我已经在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路径?这里有点沮丧。非常感谢任何建议。

11 个答案:

答案 0 :(得分:5)

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

档案>设置>项目:PycharmProjects>项目口译员

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

typeof var === 'string'

答案 1 :(得分:2)

我遇到了类似的问题。 Pycharm没有显示和django选项。 为了配置,我做了以下事情:

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

刚出现同样的问题,我去了外部库 - >口译员 - >网站套餐和" resyncronized" forlder。 django红外线。在我看来,在安装了一些软件包后,pycharm没有更新项目结构。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

  

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

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

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

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

答案 7 :(得分:0)

转到首选项->库和框架-> Django 并将 PYTHONPATH 添加到环境变量,其值是: $ PYTHONPATH:/ <您的virtualenv站点软件包目录>

为我工作。

答案 8 :(得分: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-定义来源来源

您必须转到Pycharm设置>项目:>项目结构;然后将您的项目目录标记为“源”(只需单击django项目文件夹,然后单击“顶部的源”)。

最后,重新启动Pycharm。

答案 9 :(得分:0)

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

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

答案 10 :(得分:0)

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

  1. 进入Pycharm中的项目解释器设置。 (命令+',')
  2. 在“项目解释器”选项中,提供python3的路径,该路径位于项目所在的虚拟环境中bin目录中。
  3. 应用这些更改应消除错误enter image description here

  4. 在上图中,突出显示的文本显示了python二进制文件所在的位置。