在Python中运行可执行文件时出现问题

问题描述 投票:0回答:1

我有一个简单的Python代码(3.12版本)。它只是计算用户输入的名称的 ASCII 总和:

import sys
args = sys.argv
name=args[1]
print(f"Hello, {name}!")
print("Here is some intelligence that will return a number you will NEVER understand how it is 
 computed :-D \n")
name = name.lower() 
ascii_sum = 0

for char in name:
    if char.isalpha():
        ascii_value = ord(char) 
        ascii_sum += ascii_value

print(ascii_sum)

我已经转换成一个名为

dummy_fct.exe
的可执行文件。因为出于某种原因,我需要能够从 ipynb 笔记本调用(Python)可执行文件。

现在,我尝试从新笔记本调用此可执行文件:

import subprocess
import sys
name = input("Quel est ton nom ? ")
subprocess.run(["dummy_fct.exe", name], capture_output=True, text=True)

但出现以下错误:

CompletedProcess(args=['dummy_fct.exe', 'PDH'], returncode=1, stdout='', stderr='[4004] pyimod02_importers 的模块对象为 NULL! 回溯(最近一次调用最后一次): 文件“PyInstaller\loader\pyimod02_importers.py”,第 22 行,位于 文件“pathlib.py”,第 14 行,位于 文件“urllib\parse.py”,第 40 行,位于 ModuleNotFoundError:没有名为“ipaddress”的模块 回溯(最近一次调用最后一次): 文件“PyInstaller\loader\pyiboot01_bootstrap.py”,第 17 行,位于 ModuleNotFoundError:没有名为“pyimod02_importers”的模块 [4004] 由于未处理的异常,无法执行脚本“pyiboot01_bootstrap”! ')

我确实说我根本不明白这个错误消息......你能帮助我吗?

编辑:可执行文件是通过运行这两个命令创建的:

jupyter nbconvert --to script dummy_fct.ipynb
pyinstaller --onefile dummy_fct.py
python subprocess executable
1个回答
0
投票

这似乎是here报告的错误,并且已在

v5.12

中修复
© www.soinside.com 2019 - 2024. All rights reserved.