首页 > 解决方案 > 从任何地方访问 lib 模块?

问题描述

通常我必须在每个文件中做这样的事情:

 import os, sys
 sys.path.extend(['lib', '../lib'])

有没有简单的方法。所以我不必在每个文件中都这样做吗?

这样我就可以简单地做:

 from abc import *

无法理解这是如何工作的...... https://docs.python.org/2/library/pkgutil.html#module-pkgutil

但可能一些__init__.py技巧可能会奏效!

标签: pythonpython-import

解决方案


您可以修改环境变量PYTHONPATH。请参阅文档

当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。如果没有找到,它会在变量 sys.path 给出的目录列表中搜索名为 spam.py 的文件。sys.path 从这些位置初始化:

  • 包含输入脚本的目录(或未指定文件时的当前目录)。
  • PYTHONPATH(目录名称列表,与 shell 变量 PATH 具有相同的语法)。
  • 安装相关的默认值。

推荐阅读