小编典典

django 导入错误 - 没有名为 core.management 的模块

all

好的,我看到很多这样的错误。我已经尝试了我所知道的一切,但还没有弄清楚。

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

一切正常,我很少需要运行manage.py,但我正在尝试使用新的静态文件应用程序并遇到问题。

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
install
我仔细检查我的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.path 必须说什么

>>> 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.version 错误。

侧节点:来自#django 的 Unode 帮助了我一点,在同一台机器上设置 virtualenv
并克服了错误,所以仍然不确定这里实际安装的情况,但它似乎不在 django 项目中,而是在 django /python 安装。


阅读 80

收藏
2022-07-06

共1个答案

小编典典

众所周知,这是一个路径问题。

我的自定义包的基础与 /etc/profile 中设置的目录共享一个名称。但是对于网络服务器,这些软件包位于不同的位置。所以我从我的 $PYTHONPATH
中删除了有问题的条目,一切顺利!

谢谢您的帮助。

2022-07-06