我已经在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路径?这里有点沮丧。将不胜感激任何建议。
如果您使用的是虚拟环境,请转到
文件>设置>项目:PycharmProjects>项目解释器
对于当前项目,在选择框中选择virtualenv中的Python路径。你的python的路径看起来类似于:
~/PycharmProjects/your-project-path/venv/bin/python
对我来说问题有点不同。解释器配置得很好,但我的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。
对我来说,似乎PyCharm的project_creator文件中的第5行正在寻找“django”,但虚拟环境正在安装“Django”(大写字母D)。
我没有试图找到文件并进行调整(如果可能的话)但是我想我现在要把我的2美分放在这里:)
我面临着类似的问题。 Pycharm没有显示和django选项。要配置我做了以下事情:
现在您可以使用pycharm运行和调试django项目。
至少就目前而言,我能解决这个问题的方法是进入运行/调试配置并手动设置PYTHONPATH环境变量以包含安装所有内容的site-packages
目录。一旦完成,一切正常。仍然不知道为什么会在终端中存在,但是当我使用相同的venv时,不会在Pycharm中设置。对我来说,为什么这似乎突然发生也没有任何意义。很奇怪。
刚遇到同样的问题,我去了外部库 - >解释器 - >站点包和“重新同步”的forlder。 django红外线。在我看来,在我安装了一些软件包后,pycharm没有更新项目结构。
确保您的运行配置正确指向正确的虚拟环境。转到运行菜单 - >编辑配置...然后选择您正在使用的Django服务器配置,并进行编辑。确保正确设置其Python解释器。
PyCharm控制PYTHONPATH本身,它忽略从父shell获得的任何东西(我想保持项目的行为确定性)。
查看有关配置项目解释器路径的文档:https://www.jetbrains.com/pycharm/help/installing-uninstalling-and-reloading-interpreter-paths.html
如果在系统中安装Django而不激活虚拟环境,那么只有pycharm才能识别导入。因此,如果您已经在某个虚拟环境中安装了Django,那么从该环境中删除所有这些环境或Django,然后不激活venv run命令“pip install Django == version”。
为什么你需要删除已安装Django的所有venv?
如果你没有,然后运行“pip install Django”,那么它将显示它已经安装。这就是你必须删除所有venv的原因。
在不激活虚拟环境的情况下安装Django后,您可以创建新的虚拟环境并完成工作。
这就是我解决这个问题的方法!
转到首选项 - >库和框架 - > Django并将PYTHONPATH添加到具有值的环境变量:$ PYTHONPATH:/ <your virtualenv site-packages directory>
适合我。