【问题标题】:Exe built with cx_freeze produces "module not found" errors for required package使用 cx_freeze 构建的 Exe 会为所需的包产生“找不到模块”错误
【发布时间】:2017-08-06 17:56:55
【问题描述】:

我使用 Python 制作了一个 twitter 机器人,它使用了 tweepy 模块。然后,我按照these 的说明,使用 cx_Freeze 将 Python 文件转换为 .exe 文件。如果我在 Powershell 中将程序作为 Python 文件运行,则一切正常,但是当我尝试在命令提示符下运行 .exe 文件时,出现以下错误:

 Traceback (most recent call last):
 File "C:\Python36\lib\site-packages\cx_Freeze\initscripts\__startup__.py", 
 line 14, in run module.run()
 File "C:\Python36\lib\site-packages\cx_Freeze\initscripts\Console.py", line 
 26, in run
exec(code, m.__dict__)
File "twitterbot_retweet_recent_tweets_2.py", line 1, in <module>
ModuleNotFoundError: No module named 'tweepy'

我已经尝试再次卸载并重新安装 tweepy,但我不断收到同样的错误。有谁知道如何解决这个问题?

【问题讨论】:

  • 我对 cx_Freeze 不熟悉,只是在这里简单介绍一下 -- 你在 setup.py 文件中正确引用了 tweepy 包吗?
  • @DougCoburn 否。在 setup.py 文件中,我所拥有的软件包是:packages = ["idna"] options = { 'build_exe': { 'packages':packages, },
  • @DougCoburn 我必须以某种方式添加它吗?
  • @DougCoburn 是的!非常感谢您的帮助!!!!!!

标签: python module python-3.6 cx-freeze


【解决方案1】:

有时自动依赖检测不起作用。将缺少的包依赖项添加到 setup.py 中的 build_exe 选项

# Add tweepy, queue here
packages = ["idna", "tweepy", "queue"]
options = {
    'build_exe': {
        'packages':packages,
    },
}

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多