没有名为django.core的模块
我已经更新到最新的Django版本1.0.2后卸载我的旧Django version.But现在当我运行django-admin.py我得到以下错误。 我该如何解决这个问题?
Traceback (most recent call last): File "C:\Python25\Lib\site-packages\django\bin\django-admin.py", line 2, in <module> from django.core import management ImportError: No module named django.core
你必须确保django在你的PYTHONPATH中。
要testing,只需从python shell中import django
一个import django
。 不应该有输出:
ActivePython 2.5.1.1 (ActiveState Software Inc.) based on Python 2.5.1 (r251:54863, May 1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import django >>>
如果您通过setuptools
( easy_install
或者django附带的setup.py
)安装了django,那么检查您的site-packages
是否.pth
文件( easy-install.pth
, django.pth
,…)指向正确的文件夹
HIH。
我在Windows上有同样的问题,似乎我发现了这个问题。 我有2.7和3.x安装。 这似乎与.py的副程序有关:
在命令行中input:
assoc .py
结果是:
的.py = Python.File
这意味着.py与Python.File关联
那我试了这个:
ftype Python.File
我有:
Python.File =“C:\ Python32 \ python.exe”“%1”%*
这意味着在命令行.py与我的Python 3.2安装相关 – 这就是为什么我不能只input“django-admin.py等等等等”来使用django。
所有你需要做的就是改变关联:
ftype Python.File =“C:\ Python27 \ python.exe”“%1”%*
那么每个人都可以!
您可以通过提供django-admin.py文件的完整path来解决此问题
python c:\python25\scripts\django-admin.py startproject mysite
我今天遇到了这个问题,结果certificate我的path中有C:\ Python26,而.py文件与Python 3.1相关联。 通过程序和function修复适当版本的Python,或者通过运行.msi修复相关联。
对于我来说这是一个PYTHONPATH环境variables问题,就像上面提到的其他问题一样,但没有人真正展示过如何为那些可以使用额外指令的人设置它。
Linux(bash)
我在我的主文件夹中的bashrc文件中设置了这个variables(.bashrc是我的文件,因为我的shell是/ bin / bash)。
vim ~/.bashrc export PYTHONPATH=/usr/local/python-2.7.2/lib/python2.7/site-packages:$PYTHONPATH source ~/.bashrc
path应该是你的django源代码的地方。 Mine位于/usr/local/python-2.7.2/lib/python2.7/site-packages/django,所以我只是指定/usr/local/python-2.7.2/lib/python2.7/site-没有django部分的包。
OSX
在OSX上,path是/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
,您可以将其添加到/etc/profile
:
sudo echo "PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH" >> /etc/profile source /etc/profile
我敢肯定它是关系到我的设置不正确的东西,但我有同样的问题,它可以正常工作,如果我这样称呼它
c:\somedir>python c:\Python26\scripts\django-admin.py startproject mysite
如果您使用的是Windows,那么不要使用'django-admin.py'来运行,因为这会调用您的外部python.exe来执行,并且无法读取虚拟环境中的django。 尝试“python django-admin.py”在你的环境中使用你的python.exe。
这与bitnami djangostack工作:
python apps\django\django\bin\django-admin.py startproject mysite
我在Windows XP中有同样的问题。 原因是我安装了多个python版本(2.6,3.2).windows的PATH设置正确的python26,但.py文件与python32相关联。 我想要.py文件与python26相关联。要解决这个问题,最简单的方法就是右键点击* .py(比如django-admin.py),select“open with” – >“choose program …” – >“浏览…”(selectc:\ python26 \ python.ext) – >“确定”。 然后我们可以在cmd中运行django-admin.py而不需要详细的前缀“c:\ python26 \ lib \ site-packages \ django \ bin”。
我也遇到了同样的问题,回想起前一天下午我安装了iPython。 我卸载iPython,问题就消失了。 顺便说一下,我正在与virtualenv。 我在系统范围的site-packages目录中安装了iPython,所以我只是在每个我正在使用的virtualenv中重新安装iPython。 在昨天安装iPython之后,我注意到一个警告信息(从iPython的0.13版本开始),它检测到我使用的是virtualenv,如果遇到麻烦,我应该在每个virtualenv中安装iPyton。
如果你的pathvariables是正确的,并且可以从python shell中执行:从django.core导入pipe理中,确保在“django-admin.py”之前包含“python”,例如:python django-admin.py startproject thelittlethings
最简单的解决scheme虽然不是最优雅的,但可以从Scripts文件夹复制django-admin.py文件。 脚本文件夹将在您的Python安装下find。 在我的电脑上是C:\ Python26 \ Scripts。 然后将django-admin.py粘贴到您要从中运行文件的文件夹中。 确实,系统path的使用会给予灵活性。 如果您匆忙,这是一个特殊的解决scheme。 然后键入例如python django-admin.py startproject fluffyteaspoons,您将创build项目fluffyteaspoons
在我的例子中,我在OS X Lion上,并且用自制软件安装了Python。我得到了同样的错误,但是这里没有一个解决scheme帮助我。 在我的情况下,我只需要编辑脚本:
vim /usr/local/share/python/django-admin.py
我注意到第一行是错误的,因为它指向了系统的python安装:
#!/usr/bin/python
我只是修改它指向自制的安装:
#!/usr/local/bin/python
它的工作:)
我知道这是一个老问题,但我只是有同样的问题,在我的情况下,这是因为我用django virtualenv,但Windows中的.py文件扩展名与Python主安装相关联,所以运行django-admin.py直接来自命令提示符,导致它在没有安装django的情况下使用主Python安装运行。
所以,因为我不知道在Windows中是否有任何哈希等价物,所以我通过运行python跟着django-admin.py的完整path来解决这个问题,或者你也可以修改virtualenv批处理脚本来改变文件关联并在停用时将其更改回来(尽pipe我不确定如何操作,因为我对批处理脚本不太熟悉)。
希望这可以帮助,
这在Mac OS X上工作
在terminal运行python在python中:import sys print sys.path
查找网站包path。 我发现这在sys.path的输出:'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'
退出python。 find你当前的网站包。 我在/Library/Python/2.6/site-packages
现在要小心:检查网站包的内容,以确保它是空的。 也就是说,目录/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages应该是空的,或者只包含自述文件。 如果是,请删除该目录,因为您现在即将创build符号链接。
ln -s /Library/Python/2.6/site-packages/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
如果你不删除文件夹,你会把符号链接放在文件夹中。
其他选项是将path添加到sys.path。 我select符号链接的路线,因为我有几个版本的Python,我不想要几个版本的Django,只是想指向已知的工作副本。
这发生在我身上,因为我运行pip
作为sudo
而我的virtualenv设置为不导入外部站点包,所以Django为root用户安装,但不在virtualenv中,即使我运行sudo时激活了virtualenv。
解决scheme切换到root,激活venv然后做点安装。
像往常一样,安装脚本无法设置世界读取/执行权限:)执行此操作:
sudo find /usr/lib/python2.5/site-packages/django -type d -exec chmod go+rx {} \; sudo find /usr/lib/python2.5/site-packages/django -type f -exec chmod go+r {} \;
感谢您发布问题和答案。 我安装了两个版本的Python,但root是指向/ usr / bin版本,我想在/ usr / local / bin中使用Python的2.7版本。 重build/重新安装Django和mysqldb后,一切都很好,我没有得到错误。
小的快速修复只是创build符号链接ln -s $SOMEWHERE/lib/python2.6/site-packages/django/ ./django
我有同样的问题,很明显,我有一个PYTHONPATH
configuration问题。 解决方法非常简单,只django.pth
在PYTHONHOME\Lib\site-packages
目录下创build一个名为django.pth
的文件,其中PYTHONHOME
是安装Python的目录(我的是:C:\ Python27)。 django.pth
添加到django.pth
文件中:
PYTHONHOME\Lib\site-packages\django
当然你必须把PYTHONHOME
你的Python的安装目录,正如我所解释的那样。
请注意,您可以编辑django.pth
以包含您想要包含在PYTHONPATH
中的任何目录。 实际上,您可以根据需要命名该文件,例如path.pth
,如果您希望它更通用并包含多个目录path。
那么..我做一些激进的事情。 我unistall python,我从环境Variables/PATH this: ;C:\Python26\Scripts;C:\Python26.
删除Variables/PATH this: ;C:\Python26\Scripts;C:\Python26.
和它的工作…我以前有过你的问题。
我刚刚在Windows Vista中安装了Python 2.7和3.2,并在Python 2.7和Django 1.4.3上使用virualenv。
我将资源pipe理器中.py文件的文件关联从3.2更改为2.7。 右键单击.py文件并更改设置。 我仍然有ImportError。
我以pipe理员身份运行cmd.exe
,并复制了早先的ftype
。 出错后,注意到双引号不能正确地从浏览器复制到cmd。 在cmd中重写了这个命令,但是我仍然得到了ImportError。
在活动的虚拟环境的根目录中,我明确地将python
命令和path从那里提供给了django-admin.py。 (env_p27) C:\Users\Gemmu\env_p27>python .\Scripts\django-admin.py startproject mysite
这工作。
感谢所有人的帮助。
我意识到这是因为我没有运行python setup.py install
。 那设置的环境。
要坚持什么lichenbo说…如果您使用Windows,那么不要与'django-admin.py'运行…
我在虚拟环境中运行,因此创build新项目的path和命令如下所示:
(DjangoEnv) C:\users\timreilly\Envs\django\Scripts\django-admin.exe startproject myproject
DjangoEnv是我的虚拟环境的名称。
读了很多后,我find了一个适合我的解决scheme。
我有
django version 1.9.2
-
将所有系统variables设置为“path”。不在用户variables中也不在PYTHONPATH中复制副本。
-
然后在regedit中设置Value
-
通过命令在所需文件夹中创build了一个virtualenv
virtualenv VENV
-
最后在cmd
使用的命令
django-admin.py startproject MySite ***and not this*** python django-admin.py startproject MySite
在“VENV”的根文件夹
它的工作