“解压MSVCP140.dll失败:解压导致返回码1!”

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

我在尝试启动使用 pyinstaller 从 .py 文件编译的可执行文件时收到此错误。我已经尝试过 --onefile,但没有这样做,无论是否使用 upx,但这个问题仍然存在,并且它出现在弹出的命令行窗口中。 .py 文件本身就像一个魅力,所以我认为问题不在那里。

这是我的 .py 文件代码:

import pywhatkit
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
from apscheduler.triggers.cron import CronTrigger
import logging
import sqlalchemy

logging.basicConfig()
logging.getLogger('apscheduler').setLevel(logging.DEBUG)

def sendmsg():
    pywhatkit.sendwhatmsg(xx)

executors = {
    'default': ThreadPoolExecutor(20),
    'processpool': ProcessPoolExecutor(5)
}

job_defaults = {
    'coalesce': False, 
    'max_instances': 100
}

scheduler = BackgroundScheduler(executors=executors, job_defaults=job_defaults)
scheduler.configure({'apscheduler.daemon': False})
scheduler.add_jobstore('sqlalchemy', url='sqlite:///jobs.sqlite')

scheduler.start()

我已经从中排除了不必要的信息。

这是弹出窗口中的错误图片:

dll文件也存在于我的system32文件夹中,我也尝试将其复制并放置在其他位置,但无济于事。

我愿意接受任何和所有的建议。

python compiler-errors pyinstaller exe apscheduler
2个回答
1
投票
pyinstaller --onefile --upx-exclude=MSVCP140.dll filename --key 123456 -n test -F -w --upx-dir d:\directory_to_upx

这解决了我的问题。

在此之后我遇到了一个问题,程序说我的 sqlalchemy 库有问题。

所以我将最后一行导入更改为:

from flask-sqlalchemy import SQLAlchemy

我代码的最后一行:

scheduler.add_jobstore(SQLAlchemyJobStore(url))

希望这对遇到同样问题的其他人有帮助!


0
投票

当我的驱动器已满时,我在 Windows 上遇到了完全相同的错误。 我通过在驱动器上腾出一些空间 解决了这个问题,而不是再次运行 exe 文件。 (我不需要重新运行 pyinstaller)。

希望这可以帮助某人。另外,我很想知道为什么会出现此错误而不是其他错误。在我意识到发生了什么之前真的很困惑。

© www.soinside.com 2019 - 2024. All rights reserved.