【问题标题】:Path in the PYTHONPATH not in django pathPYTHONPATH 中的路径不在 django 路径中
【发布时间】:2016-06-03 14:08:00
【问题描述】:

我正在编写一个基于 python 和 django 的基于 Web 的应用程序。我有一个包含 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 的行会引发异常

我做错了什么?提前致谢。

【问题讨论】:

    标签: python django import module pythonpath


    【解决方案1】:

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

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

    $ 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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 2018-09-12
      • 2019-06-04
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多