在virtualenv中创建项目时没有名为django.core的模块

时间:2012-11-08 03:03:26

标签: django path virtualenv

所以我看了很多类似于我的问题,但我找不到具体的答案。我的comp规范是Windows 7 64位。

我的问题是这样的:

1)我使用pip安装了virtualenv:

pip install virtualenv

2)之后我创建并激活了一个新环境:

path/virtualenv env
...
path/to/env/Scripts/activate

3)在运行新环境时,我安装了django:

(env) path/pip install django

4)安装成功后,我准备做一个项目。然而,在尝试时:

path/django-admin.py startproject test

我收到以下错误:

File "C:/path/env/Scripts/django-admin.py", line 2, in (module)
    from django.core import management
ImportError: No module named django.core

我已经尝试了人们发布的各种解决方案,包括使用完整路径:

python C:/path/to/django-admin.py startproject test

我还检查过以确保它引用的Python版本是正确的,因为virtualenv内部和外部都与Python27相关联。许多其他解决方案都谈到了PYTHONPATH或syspath,但是,当我在python shell中导入django或managemnet时,那些工作正常。

我感觉它可能与路径有关,但我不确定virtualenv如何与系统路径交互。由于它是独立的并且系统路径是系统范围的,因此是否有必要在路径中具体内容?

顺便说一下,我的django-admin.py文件都在

path/env/Scripts

path/env/Lib/site-packages/django/bin

并且django文件夹位于

path/env/Lib/site-packages

如何解决这个问题?

12 个答案:

答案 0 :(得分:12)

我通过使用以下命令解决了这个问题:

django-admin startproject

只需删除“django-admin”

附带的“.py”即可

答案 1 :(得分:4)

我无法获得任何其他堆栈溢出答案。在Win64上运行一个已经运行过的Django堆栈有点痛苦。

但是,我在这里找到了一个对我有用的答案:http://samudranb.com/2012/06/02/how-to-setup-a-djangopython-development-env-on-windows/

尝试从管理员命令提示符运行:

ftype Python.File="[your venv path]\Scripts\python.exe" "%1" %*

完成后,请确保将其重新设置为原始值。

答案 2 :(得分:2)

这将有助于您理解为什么您面临这个问题,并且还有简单的解决方案:

http://blog.jayteebee.org/2009/07/importerror-no-module-named-djangocore.html

答案 3 :(得分:2)

我已经搜索了几个小时来解决这个问题......我随机地看到了这个视频:(https://www.youtube.com/watch?v=lPmkl4jtYgA)他把“python。\ Script \ django-admin.py startproject”放入在虚拟环境中的命令提示符,所以我尝试使用以下修改,以指向我的机器上的正确路径“python。\ env \ Script \ django-admin.py startproject”。瞧!

希望这有助于某人,因为这个问题似乎有多种原因。

答案 4 :(得分:1)

Windows server 2003提供Where命令 其中python.exe

将显示路径上找到的当前python.exe的完整路径,使用它来检查它是否为您的virtualenv使用正确的路径。

关联问题因为跑步而发挥作用 file.py 所以.py是argv [0]通过windows关联,它不会跟随你的venv。

python file.py 找不到file.py,除非它在当前目录中。

所以解决方案是 -

python%VIRTUAL_ENV%\ scripts \ django-admin.py startproject myproject

这从当前活跃的venv运行python 并使用venv env变量,因此它指向django-admin.py的正确位置(或者你可以自己给它一个绝对路径)

答案 5 :(得分:1)

我遇到了同样的问题。我用这个命令解决了这个问题: (env)C:\ environment目录> python Scripts \ django-admin.py

此链接对我有帮助: enter link description here

答案 6 :(得分:0)

我在MacOSX(Snow Leopard)的终端中使用virtualenv也遇到了同样的问题。我解决这个问题的方法是从

更改django-admin.py的第一行
#!/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

#!/path-to-your-virtualenv-directory/bin/python

希望这有助于某人。

答案 7 :(得分:0)

我遇到了同样的问题我正在运行python 3.4和2.7,所以我在我的机器上全局安装了Django,当我回到我的虚拟环境时,我能够创建一个没有问题的项目。

答案 8 :(得分:0)

我遇到了同样的问题,解决问题的方法是在进行迁移和运行服务器之前激活我的项目目录 &#34; python manage.py runserver&#34; < / strong>即可。 激活项目目录:source / path / bin / active 路径表示存储项目的位置。

答案 9 :(得分:0)

有同样的错误,这解决了我。

source / path / to / virtualwrapper / activate

pip install django

此修复程序尝试重新安装和配置django

答案 10 :(得分:0)

我有同样的问题,但我解决了它,首先我激活了虚拟环境,然后运行:

django-admin.exe startproject project_name

答案 11 :(得分:0)

在Windows中,您设置:

set PATH=C:\virtualenv\python2.7\Scripts REM Scripts folder contains python.exe, pip.exe, django-admin.exe,...
set PYTHONPATH=C:\virtualenv\python2.7\Lib\site-packages REM site-packages folder contains packages of python such as django,...

之后,通过

创建项目mysite。
django-admin.py startproject mysite