django在virtualenv中给出了错误

时间:2012-06-29 12:57:10

标签: python django

我确实有Win7 64位。我的行动顺序如下

  1. 我安装了python 2.7.3。系统路径很明确。
  2. 然后我安装了virtualenv和pip
  3. 接下来是我的命令序列

    • cd c:\ Users \ developer \
    • mkdir .virtualenv
    • cd .virtualenv
    • virtualenv --distribute --no-site-packages djangos
    • cd djangos
    • cd script
    • activate.bat
    • pip install django
  4. 现在我在系统路径中包含一个目录

    C:\ Users \用户显影剂\ .virtualenv \ django的\脚本

    这是问题所在。如果输入控制台

    cd c:\ Project

    django-admin.py startproject helloworld

    然后我得到了

    Traceback (most recent call last):
      File "C:\Users\developer\.virtualenv\djangos\Scripts\django-admin.py", line 2, in     <module>
        from django.core import management
    ImportError: No module named django.core
    

    但如果我确实跑了 蟒蛇
    和内部翻译

    >>import django
    >>django.VERSION
    >>(1, 4, 0, 'final', 0)
    >>from django import core
    >>from django.core import managment
    

    我没有收到任何错误

    创建项目的唯一方法是运行
    (djangos)c:\ Projects&gt; python c:\ Users \ developer.virtualenv \ djangos \ Scripts \ django-admin.py startproject hello

    如果有办法避免每次都在cli中输入完整路径?

3 个答案:

答案 0 :(得分:1)

而不是

django-admin.py startproject helloworld

尝试

python django-admin.py startproject helloworld

它对我有用。

答案 1 :(得分:1)

问题是Windows会将 .py 文件的自动文件关联设置为特定的 python.exe 可执行文件。即使您激活 virtualenv ,在尝试执行命令时也会引发错误:

django-admin.py

原因是用于执行脚本的 python.exe 仍然是Windows与 .py 文件关联的脚本。在我的例子中,默认的Windows关联是 C:\ Python27 \ python.exe 。尽管已经配置并激活了virtualenv以指向 C:\ Users \ developer.virtenv \ django \ scripts \ python.exe

要正确执行djano-admin.py,请使用完整路径,例如:

C:\users\developer\.virtenv\django\scripts\python.exe django-admin.py

或者,删除与 .py 文件的默认Windows关联。这样,当 virtualenv 被激活时,它将修改%PATH%变量以指向虚拟环境中的 python.exe 。 / p>

~~~

注意:在Linux机器上通常不会出现此问题。这与Windows的工作方式有关。

答案 2 :(得分:0)

在我看来,你对virtualenv的激活失败了。因此Django安装在您明确排除的站点包中。尝试创建一个不使用--no-site-packages的virtualenv来测试是否是这种情况。

您可以随时为快捷命令创建别名或符号链接,尝试谷歌