gpt4 book ai didi

python - 操作系统错误 : [Errno 8] Exec format error when running subprocess. 打开

转载 作者:行者123 更新时间:2023-11-30 22:11:17 27 4
gpt4 key购买 nike

我正在尝试运行一些从 github 下载的开源代码: https://github.com/augustoqm/MCLRE

代码正在我的 mac shell 中运行。当它到达 subprocess.Popen() 函数时,它会引发“OSError: [Errno 8] Exec format error”。

代码:

启动新流程

mrbpr_cmd_args = '%s -m %s -d %s -u %s -n %s -o %s -k %d -s %d -h %d -l %f -f %d -i %d -a %s -e "%s"-r "%s"-M %s'\ %(mrbpr_bin_path,元文件,train_files,test_users_file,test_candidates_file,output_dir,rank_size,\ save_model、算法、learn_rate、num_fact、num_iter、relation_weights、regularization_per_entity、\ 正则化每个实体,模型名称)

proc = subprocess.Popen(shlex.split(mrbpr_cmd_args), shell=True)

当我打印“mrbpr_cmd_args”变量时,结果是:

/Users/nastia/Desktop/MCLRE-master/src/recommender_execution/mrbpr/mrbpr.bin -m/Users/nastia/Desktop/MCLRE-master/data/experiments/recsys-15/bpr-net_meetup.meta - d/Users/nastia/Desktop/MCLRE-master/data/partitioned_data/san_jose/partition_12/mrbpr/user-event-rsvp_train.tsv,/Users/nastia/Desktop/MCLRE-master/data/partitioned_data/san_jose/partition_12/mrbpr/user-user-same-group_train.tsv,/Users/nastia/Desktop/MCLRE-master/data/partitioned_data/san_jose/partition_12/mrbpr/user-user-same-event_train.tsv -u/Users/nastia/Desktop/MCLRE-master/data/partitioned_data/san_jose/partition_12/mrbpr/users_test.tsv -n/Users/nastia/Desktop/MCLRE-master/data/partitioned_data/san_jose/partition_12/mrbpr/event-candidates_test.tsv -o/Users/nastia/Desktop/MCLRE-master/data/experiments/recsys-15/san_jose/recommendations/partition_12/mrbpr -k 100 -s 0 -h 0 -l 0.100000 -f 200 -i 600 -a 0.25,0.15,0.6 -e ""-r ""-M BPR-NET_200-0.1-600-0.25:0.15:0.6

谁能告诉我这个参数有什么问题吗?

最佳答案

来自您链接的 GitHub 存储库上的自述文件:

Requirements

  • Linux: all experiments were executed in Linux-based machines, Ubuntu distributions, more specifically

而且,如果你看 that path inside the repo , mrbpr.bin 是 Linux 可执行二进制文件。您无法在 Mac 上运行它。

如果他们提供了您自己构建该可执行文件的源代码,或者指向在哪里可以找到它的链接,您可能可以构建一个 Mac 版本。但是,如果做不到这一点,您将无法修复它。

<小时/>

最好的选择可能是运行 Linux 容器、虚拟机或用户模式安装(在 Mac 上或某些免费云主机上),安装 Python 和所有其他要求,然后运行代码就是这样。

<小时/>

如果您想知道为什么会出现该特定错误:

OSError: [Errno 8] Exec format error

有多种不同的可执行文件格式:a.out、ELF、mach-O、COFF 等。大多数 Linux 可执行文件都是 ELF 格式。 macOS 的加载程序只识别 mach-O 和 a.out。因此,您的操作系统甚至无法弄清楚该文件是什么,只是它不知道如何处理该文件。但是,即使你克服了这一点,linux 和 Darwin 系统调用是不同的,glibc 和 BSD libc 是不同的,等等,所以无论如何它都会很快出现段错误。

关于python - 操作系统错误 : [Errno 8] Exec format error when running subprocess. 打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51469341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com