【发布时间】:2013-01-31 02:24:58
【问题描述】:
首先,我已经阅读了所有我能找到的标题相似的主题。这肯定是转贴,但我看了没找到。
其次,这是我的设置和我所做的。我在Windows 7。我正在关注Heroku 的入门指南:https://devcenter.heroku.com/articles/django。我使用他们提供的安装指南来安装Python、virtualenv、distribute 和pip (http://docs.python-guide.org/en/latest/starting/install/win/)。我使用 Windows 安装程序安装了Python 2.7,没有其他版本。然后,我完全按照Heroku 指南中列出的步骤进行操作。我不得不使用替代方法来安装psycopg2,但它似乎工作正常。
问题出现了,然后我到了应该运行的步骤
django-admin.py startproject hellodjango .
当我尝试运行命令时出现此错误:
(venv) C:\Users\myname\projectdir>django-admin.py startproject hellodjango .
Traceback (most recent call last):
File "C:\Users\myname\projectdir\venv\Scripts\django-admin.py", line 2, in <module>
from django.core import management
ImportError: No module named django.core
我尝试在虚拟环境中手动运行 Python 并导入 django、django.core 和错误文本中指定的行,一切正常:
(venv) C:\Users\myname\projectdir>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> from django import core
>>> import django.core
>>> from django.core import management
>>>
我尝试使用 pip 卸载所有内容,删除虚拟环境,删除项目文件夹,然后重新开始。发生了同样的错误。
这可能很简单,但我无法弄清楚我错过了什么。有什么想法吗?
edit - 另外,我尝试将命令更改为:
django-admin.py startproject projectdir .
但结果相同。
然后我尝试了:
python C:\Users\myname\projectdir\venv\Lib\site-packages\django\bindjango-admin.py startproject projectdir .
但我得到了:
python: can't open file 'C:\Users\wtodom\hdj\venv\Lib\site-packages\django\bindj
ango-admin.py': [Errno 2] No such file or directory
【问题讨论】:
-
似乎 Django 不在您的 sys.path 上。此外,您尝试的最后一件事有错字 - 应该是
bin\django-admin.py而不是bindjango-admin.py。 -
@DanHoerst 是的,修正了那个错字让它工作了,你可能是对的,Django 不在路上。我是否以正常方式添加它,我会在我的路径中添加一些东西,还是因为我使用 virtualenv,我需要做一些特别的事情?
-
@DanHoerst 另外,鉴于上面的路径,我到底需要添加什么?我很抱歉这么有需要,但我真的很感谢你的帮助。
-
查看这个答案,了解如何在 Windows 上向
PYTHONPATH添加内容:stackoverflow.com/questions/3701646/…。由于您可以从外壳程序import django,看来您的应用程序文件夹中至少有 djangoC:\Users\myname\projectdir,否则您会收到错误消息。如果从 venv 中的不同文件夹打开 shell,可以导入 django 吗? -
@DanHoerst 添加到
PYTHONPATH看起来可以,但我还没有完成。就导入而言,我可以从 venv 中的其他文件夹导入。 (我从项目根目录尝试过,然后我从不属于 Django 路径的子文件夹中尝试过。)
标签: python django windows heroku virtualenv