manage.py runserver 报 ImportError,MacPorts 在 OSX 的问题?

1 投票
2 回答
2476 浏览
提问于 2025-04-15 23:04

我在本地的OSX 10.6.3上开发了一个Django应用,已经好几周了。最近,我重启了我的电脑,然后想要启动我的开发环境。

结果出现了这个错误:

cm:myApp cm$ python manage.py runserver
错误追踪(最近的调用在最前面):
文件 "manage.py",第11行,执行 execute_manager(settings)
文件 "/Library/Python/2.6/site-packages/django/core/management/init.py",第360行,执行 execute_manager
setup_environ(settings_mod)
文件 "/Library/Python/2.6/site-packages/django/core/management/init.py",第343行,执行 setup_environ
project_module = import_module(project_name)
文件 "/Library/Python/2.6/site-packages/django/utils/importlib.py",第35行,执行 import_module
import(name)
导入错误:没有名为 myapp 的模块

我对Django和Python还很陌生。

我查了一下,可能是因为MacPorts的问题。最开始我在安装Django时遇到了一些麻烦,现在我不记得我是用MacPorts安装的Django,还是用easy_install安装的。怎么才能知道呢?(我不想重新安装所有东西)。

另外,为什么在导入错误信息中,我的应用名称的驼峰命名消失了?当我在我的Django项目中搜索“myapp”时,找不到任何没有驼峰命名的地方。

还有,是什么原因导致MacPorts能用一段时间但后来又坏掉了呢?

还有一些细节,来自settings.py:

INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'south', 'registration', 'pypaypal', 'notifier', 'myApp.batches', )

2 个回答

0

要查看你现在是从哪里运行Django的,可以打开一个Python命令行,然后输入:

import django
print django.__path__

这会显示Django目录的路径。

你也可以在Python命令行里做这个:

import sys
print sys.path

这会显示当前Python路径下的所有目录,这可能对你调试有帮助。

0

好吧,这事儿挺奇怪的,我也不知道发生了什么……不过这是我解决问题的过程:

  1. 我打开终端,结果bash不认识任何命令(比如python、vi等等)。
  2. 我重启了电脑,还是不认识任何命令。
  3. 我查看我的$PATH,发现里面缺少了/usr/bin。
  4. 我把/usr/bin加到了$PATH里。
  5. 我打开vi,修改了我的配置文件,把/usr/bin加上。
  6. 现在vi可以用了,python也可以用了。
  7. 我运行python manage.py runserver也没问题了。

那么,/usr/bin是怎么从我的bash配置文件里消失的呢?

撰写回答