excel xlwings_udfs 模块为空

excel xlwings_udfs module is empty

在 64 位虚拟环境 python 2.7.6 中的 Windows 上使用 xlwings 0.7.1 UDF。 我现在看到它不需要模块的完整路径,而是需要模块名称。但是,当模块名称以包名称为前缀时,它无法以静默方式导入任何 UDF。例如:

PYTHONPATH = ThisWorkbook.Path & ";C:\pathTo\Pydev\myproj\src"
UDF_MODULES = "pkg.myudfs"

如果我将包名'pkg'从UDF_MODULES移动到PYTHONPATH,那么它在myudfs.py内的导入失败(比如'import pkg.module2'). 命中和试用后,我通过添加多个源文件夹来修复它:

PYTHONPATH = ThisWorkbook.Path & ";C:\pathTo\Pydev\myproj\src\pkg;C:\pathTo\Pydev\myproj\src"

我需要这样做吗?我不能只将 UDF_MODULES 指向基础 src 文件夹并提供合格的模块名称,如 'pgk.myudfs' 吗?

您现在确实在做正确的事 (v0.7.1)。但是,我已经在 GitHub 上打开了一个 issue,因此我们可能会在未来的版本中简化此操作。