PYTHONPATH 中的路径不在 Django 路径中

Path in the PYTHONPATH not in django path

我正在编写基于 python 和 django 的基于网络的应用程序。我有一个包含 LIBS 目录的源代码文件夹,其中有一个名为 utils.py 的文件。当我想安装我的应用程序时,会在 ~/.profile 文件中添加一个新行,例如 export PYTHONPATH=$PYTHONPATH:/home/test/src/LIBS(路径是根据安装路径添加的)。

当我 运行 解释器中的以下代码路径正常时:

import sys
sys.path 
['', '/usr/lib/python2.7', '/home/test/src/LIBS', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7']

不幸的是,当我想加载我的应用程序的主页时,导入 utils 的行引发异常

我做错了什么?

您的 ~/.profile 仅将目录添加到当前 shell 环境中的 PYTHONPATH。它不是全球可用的。当 django 加载时,它使用 wsgi.py 和另一个项目路径。

添加全局可用路径的最简单方法是添加 .pth 文件。它应该在您的 python dist-packages 目录中(取决于 OS):

$ sudo nano /usr/lib/python2.7/dist-packages/
/home/test/src/LIBS

并保存文件。

现在该应用程序将可用于您计算机上的所有 python 个实例。

如果你只想将此路径添加到特定的 django 项目,在 wsgi.py 添加:

import sys
sys.path.append("/home/test/src/LIBS")