cx_Freeze:无法找到文件/目录 icon.gif

3 投票
1 回答
2255 浏览
提问于 2025-04-18 16:04

我正在使用 cx_Freeze 和 Python 3.4.1,想要把我的一个 Python 程序做成一个应用程序。不过,在运行 setup.py build 之后,我遇到了一个错误:

cx_Freeze.freezer.ConfigError: cannot find file/directory named icon.gif

这是我的设置文件:

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32" : base = "Win32GUI"

opts = {"include_files": ['icon.gif', "EndingsPerfect.txt", "EndingsPPP.txt", "LatinEnglishPronouns.txt", "1stConj/", "2ndConj/", "3rdConj/", "4thConj/"], "includes": ["re"]}

setup(name = "LT",
      version = "1.0",
      description = "Latin verbs",
      author = "Laurence vS",
      options = {"build_exe": opts},
      executables = [Executable("latintranslatewithguipyw.pyw", base = base)])

这个错误让我很困惑,因为 icon.gif 文件和设置文件在同一个文件夹里。

以下是完整的错误追踪信息:

C:\Users\Laurence> python "C:\Users\Laurence\Dropbox\Python programs\GUIs\latintr
anslatewithgui\setup.py" build

running build
running build_exe
Traceback (most recent call last):
  File "C:\Users\Laurence\Dropbox\Python programs\GUIs\latintranslatewithgui\set
up.py", line 14, in <module>
    executables = [Executable("latintranslatewithguipyw.pyw", base = base)])
  File "C:\Python34\lib\site-packages\cx_Freeze\dist.py", line 362, in setup
    distutils.core.setup(**attrs)
  File "C:\Python34\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Python34\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Python34\lib\distutils\command\build.py", line 126, in run
    self.run_command(cmd_name)
  File "C:\Python34\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Python34\lib\site-packages\cx_Freeze\dist.py", line 231, in run
    metadata = metadata)
  File "C:\Python34\lib\site-packages\cx_Freeze\freezer.py", line 108, in __init
__
    self._VerifyConfiguration()
  File "C:\Python34\lib\site-packages\cx_Freeze\freezer.py", line 498, in _Verif
yConfiguration
    sourceFileName)
cx_Freeze.freezer.ConfigError: cannot find file/directory named icon.gif

如果有人能帮忙,我会非常感激。

1 个回答

4

重新发一下作为回答:

相对路径是根据你当前所在的位置来找的,而不是根据setup.py脚本的位置。你可以在终端里使用 cd 命令切换到setup.py所在的文件夹,然后再运行 python setup.py build

如果因为某些原因这样做不方便,你也可以在setup.py脚本里使用 os.chdir() 来改变当前目录。

撰写回答