我有一个 Django 项目,版本 1.8.7
我正在尝试运行 manage.py。
manage.py 脚本产生错误:
ImportError: No module named project_name.settings
我的目录结构是这样的:
project_name:
- __init__.py
- other_stuff
- ...
- settings.py
- manage.py
在 manage.py 我有这样一行代码:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")
如果我更改project_name.settings
为settings
. 我不再收到此错误(我收到另一个错误,也是一个导入错误,但除此之外)
在其他机器上,该代码适用于project_name.settings
.
我想这是一个路径问题。如何,或者更好地说,我在哪里可以解决这个路径问题?具体来说,我如何告诉 Django project_name.settings 实际上是 current_directory.settings?
谢谢!
回答:
所以,我发现的解决方法是在 python 的 dist-packages 中创建一个符号链接。我有一个符号链接,我们称之为 s,它指向包含我的项目的目录。符号链接 s 指向 parent_dir。
- parent_dir
- dir_1
- ...
- project_name
- __init__.py
...
- ...
我还添加了一个 pth 文件 s.pth,其中仅包含符号链接的名称 s。
现在,它起作用了。