如何从本地目录而不是 pip 安装的库导入模块?

Kub*_*888 7 python module python-import python-3.x

我已经将 python 库克隆xyz到我的计算机中。文件结构如下:

>> project (folder)
    * main.py
    >> xyz_git (folder)
          >> xyz (folder)
Run Code Online (Sandbox Code Playgroud)

在里面main.py

import sys
sys.path.insert(0, './xyz_git')
from xyz import Xyz

instance = Xyz()
print(instance.some_function())
Run Code Online (Sandbox Code Playgroud)

问题是我也有 pip 安装的xyz默认 python 模块。即使我删除本地文件夹,from xyz import Xyz由于默认的 pip 安装,它仍然可以工作。如何确保xyz导入不是从本地目录导入时会报错?

sku*_*089 4

如果您知道本地目录的路径,请在尝试导入之前将其插入数组 sys.path 的第一个位置。

例如

import sys
mypath = "ABS_PATH_TO_PROJECT_ROOT_DIR"
sys.path.insert(0, mypath)
from module import var
Run Code Online (Sandbox Code Playgroud)

如果您正在使用 git,您可能还需要考虑将其添加为 git子模块