如果你的根目录名称与其中一个应用程序的名称相同,则可能发生这种情况。例如,在这里,我有一个名为的目录,@H_301_1@bar其中包含一个Django项目以及一个应用程序@H_301_1@bar:
@H_301_1@Simons-MacBook-Pro ~/temp $ cd bar Simons-MacBook-Pro ~/temp/bar $ ./manage.py shell Error: Could not import settings 'bar.settings' (Is it on sys.path?): No module named settings Simons-MacBook-Pro ~/temp/bar $ ls -l total 48 -rw-r--r-- 1 simon staff 0 25 Oct 10:46 __init__.py -rw-r--r-- 1 simon staff 130 25 Oct 10:46 __init__.pyc drwxr-xr-x 7 simon staff 238 25 Oct 10:46 bar -rwxr-xr-x 1 simon staff 503 25 Oct 10:46 manage.py -rw-r--r-- 1 simon staff 5025 25 Oct 10:46 settings.py -rw-r--r-- 1 simon staff 2658 25 Oct 10:46 settings.pyc -rw-r--r-- 1 simon staff 556 25 Oct 10:46 urls.py
将根目录的名称更改为foo(或以外的其他名称bar)可以解决此问题:
@H_301_1@Simons-MacBook-Pro ~/temp/bar $ cd .. Simons-MacBook-Pro ~/temp $ mv bar foo Simons-MacBook-Pro ~/temp $ cd foo Simons-MacBook-Pro ~/temp/foo $ ./manage.py shell Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>>