我想在一个用pyinstaller编译成可执行文件的python程序中使用pyinstaller。目的是这个可执行文件将包含运行程序所需的所有文件,包括将BEDtools作为二进制文件传送。但是,当我尝试使用下面的代码运行pybedtools时,我会得到一个NotImplementedError,这意味着pybedtools与这种方法不兼容。是否有可能运行像这样包装二进制文件的pybedtools?set_bedtools_path不是解决这个问题的合适工具吗?
示例代码:
import os
import pybedtools
pybedtools.helpers.set_bedtools_path(os.path.join(
os.path.dirname(os.path.realpath(__file__)), 'bedtools.static.binary'))
a = pybedtools.example_bedtool('a.bed')
b = pybedtools.example_bedtool('b.bed')
print(a.intersect(b))发布于 2022-01-18 20:09:14
我无法找到使用静态二进制文件来完成此任务的方法。然而,一个类似的解决方案(尽管可能稍微不那么优雅)是从bedtools网站下载.tar存档,从源代码编译它,将整个目录作为数据包括在内,并使用pybedtools.helpers.set_bedtools_path(...)将包指向bedtools/bin/文件夹。
https://stackoverflow.com/questions/70689939
复制相似问题