将 python 包子目录添加到系统路径



我有一个具有以下结构的python包:

Package
├───ExternalModules
│   ├───external_module.exe
│   └───external_module_importer.py
└───setup.py

该软件包与 setup.py 文件("pip install ./"(一起安装,其中有一个依赖于executable_module.exe运行的库/依赖项。

我不希望我的用户必须下载模块并手动添加路径,因此我想将其放在我的软件包中并自动将其添加到系统路径(在软件包安装期间或运行时(。

目前,我有这个external_module_importer.py尝试通过以下方式导入它:

import os
import sys
def add_module_to_path():
filedir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(filedir)

但即使我调用此函数,依赖于 .exe 文件的外部依赖项也会给我以下错误:

FileNotFoundError: external_module not found or not executable, check the configuration file

如果我手动将包/外部模块/文件夹添加到 PATH,它可以工作。

有没有好的解决方案?

回答自己:

当我附加到sys.path时,我将目录添加到PYTHONPATH环境变量中,而不是系统PATH变量中。

要做 de 前者 必要的命令是这样的:

os.environ["PATH"] += os.pathsep + path

这与系统无关。

相关内容

  • 没有找到相关文章

最新更新