我看到很多这样的错误。我已经尝试了所有我知道的方法,但还是没有找到答案。

我正在一个运行python 2.5和Django 1.3的开发服务器上工作。Django 1.3是在解压tar.gz下载文件后使用python setup.py install安装的。

一切都很好,我很少需要运行manage.py,但我试图使用新的staticfiles应用程序,我遇到了问题。

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management

好的,我有PATH问题。

在Django安装中,我仔细检查了我的site-packages目录。

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

让我们看看我有什么,echo $PYTHON_PATH是空的,所以我设置了它

export PYTHON_PATH=/usr/lib/python2.5/site-packages/django

还是不走运。让我们来看看sys。路径会说

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']

路径在那里,我甚至创建了/usr/lib/python2.5/site-packages/django.pth

cat /usr/lib/python2.5/site-packages/django.pth 
/usr/lib/python2.5/site-packages/django/

有人知道这里发生了什么吗?

我发现了一个符号链接进一步的路径,这是在路上,但没有一个新的错误。

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
    from django.utils.version import get_svn_revision
ImportError: No module named utils.version

我还尝试创建一个新项目,看看是否有任何问题,并获得相同的utils。版本错误。

Side node:来自#django的unnode帮了我一点忙,在同一台机器上设置了virtualenv,并解决了错误,所以仍然不确定这里的实际安装是什么,但它似乎不在django项目中,而是在django/python安装中。


当前回答

源~ / blog-venv / bin /激活

在这里选择您的virtualenv来替换“blog-venv”。

其他回答

我得到这个是因为我忘记了我安装Django使用pip -U,所以它只对运行我的Django应用程序的用户可用。要运行manage.py,我必须这么做

sudo su -s /bin/bash MY_DJANGO_USER
/PATH/TO/MY/APP/manage.py

这个错误通常发生在django没有安装的时候。 如果你已经安装了django,但仍然得到同样的错误,那么你一定是在单独的虚拟环境中工作。你也需要在虚拟环境中安装django。当你在shell的虚拟机简单地这样做:

安装django

因为虚拟机有独立的文件系统,所以即使在你的系统上安装了django,它也无法识别。

你的项目是用旧版本的django-admin.py创建的,比django1.3还要旧

为了解决这个问题,创建另一个django项目,复制它的manage.py并粘贴到旧的项目中

================================== 解决方案 =========================================

第一个转到:虚拟环境

通过运行命令: 源bin /激活

然后安装django,因为你会得到与import django相关的错误:

pip install django

然后运行:

python manage.py runserver

(注意:请将'runserver'更改为您要运行的程序名称)

对于同样的问题,它在我的案例中起了作用。 ================================== 剧情简介 =========================================

ERROR:
(Development) Rakeshs-MacBook-Pro:src rakesh$ python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

在处理上述异常时,发生了另一个异常:

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
(Development) Rakeshs-MacBook-Pro:src rakesh$ 
(Development) Rakeshs-MacBook-Pro:src rakesh$ 
(Development) Rakeshs-MacBook-Pro:src rakesh$ python -Wall manage.py test
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

在处理上述异常时,发生了另一个异常:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

在处理上述异常时,发生了另一个异常:

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

安装django后:

(Development) MacBook-Pro:src rakesh$ pip install django
Collecting django
  Downloading https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3MB)
    100% |████████████████████████████████| 7.3MB 1.1MB/s 
Collecting pytz (from django)
  Downloading https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
    100% |████████████████████████████████| 512kB 4.7MB/s 
Installing collected packages: pytz, django

在解决:

(Development) MacBook-Pro:src rakesh$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

August 05, 2018 - 04:39:02
Django version 2.1, using settings 'trydjango.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[05/Aug/2018 04:39:15] "GET / HTTP/1.1" 200 16348
[05/Aug/2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304
Not Found: /favicon.ico
[05/Aug/2018 04:39:16] "GET /favicon.ico HTTP/1.1" 404 1976

祝你好运! !

此问题的另一个可能原因是您的操作系统默认运行python3。

你必须显式地执行:python2 manage.py

或者你需要编辑manage.py的shebang,就像这样:

#!/usr/bin/env python2

或者如果你使用python3:

#!/usr/bin/env python3