Meson找不到Pykeepass模块,我确定它已安装



我正在尝试使用Meson,gnome passwordsafe构建应用程序。我已经在Arch上成功建造了它,但此后搬到了Pureos(Debian(。

运行时:

 $ meson . _build --prefix=/usr

它告诉我:

Meson.build:36:4:错误:遇到问题:缺少依赖性Pykeepass> = Master

我想念什么?

谢谢!


我使用pip安装了pykeepass。当那不起作用时,我尝试使用pip3。当那不起作用时,我再次尝试了两者,但是与sudo尝试了。仍然没有骰子。

然后,我从repo/source(https://github.com/pschmitt/pykeepass(安装了它。没有骰子。


目前,Python帮助识别pykeepass已安装到:

/home/dc3p/.local/lib/python3.7/site-packages/pykeepass/__init__.py
/usr/local/lib/python3.7/dist-packages/pykeepass/__init__.py
/home/dc3p/.local/lib/python2.7/site-packages/pykeepass/__init__.py
/usr/local/lib/python2.7/dist-packages/pykeepass/__init__.py

pippip3列表将pykeepass显示为存在。

当我当前将其安装在所有四个位置时,我也尝试过一次在任何位置安装一个位置。

我还尝试了没有sudo的meson命令。无论我做什么,梅森都会丢下相同的错误。

预期结果是一个构建。

passwordSafe中的 meson.build文件正在测试文件系统中的目录,如果安装目录有所不同,该目录可能会导致错误的负面。请参阅下面的代码提取。

# Python Module Check
pykeepass_dir = join_paths(python_dir, 'pykeepass')
construct_dir = join_paths(python_dir, 'construct')
if run_command('[', '-d', pykeepass_dir, ']').returncode() != 0
    error('Missing dependency pykeepass >= master')
endif
if run_command('[', '-d', construct_dir, ']').returncode() != 0
    error('Missing dependency python-construct >= 2.9.45')
endif

您可以将上述替换为以下内容,以根据导入测试依赖项:

python3_required_modules = ['pykeepass', 'construct']
foreach p : python3_required_modules
    script = 'import importlib.util; import sys; exit(1) if importlib.util.find_spec(''+ p +'') is None else exit(0)'
    if run_command(python_bin, '-c', script).returncode() != 0
        error('Required Python3 module '' + p + '' not found')
    endif
endforeach

这应该解决pykeepass在您的路径内的问题。

相关内容

  • 没有找到相关文章

最新更新