首页 > 解决方案 > 当我在 cx_freeze 'TypeError: expected str, bytes or os.PathLike object, not NoneType' 上运行 setup.py 时出现错误

问题描述

我正在尝试将使用 Tkinter 创建的 GUI 应用程序转换为 .exe 文件,并且 GUI 应用程序由pandasNumPy等库组成。

我使用cx_Freeze作为将我的 GUI 应用程序转换为 .exe 文件的首选库,并且我目前正在使用 python 版本:'Python 3.7.7'

而且我也有点怀疑这个错误可能是因为我使用的是早期版本的python(我使用Anaconda发行版的python作为我的python解释器)并且我已经尝试了很多天的解决方案但是这些尝试失败了。

如果有人能找到我的问题的解决方案,请帮助我了解解决方案。

这是 setup.py 代码:

import cx_Freeze
import sys
import pandas
import numpy

base = None

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

executables = [cx_Freeze.Executable("app.py", base=base, icon="myicon.ico")]

cx_Freeze.setup(
    name = "Correlation-Generator",
    options = {"build_exe": {"packages":["tkinter","pandas","numpy"], "include_files":["myicon.ico"]}},
    version = "0.01",
    description = "A GUI Application which takes in metrics for generating a correlation value",
    executables = executables
    )

这是错误:

Traceback (most recent call last):
  File "transfer_exe.py", line 60, in <module>
    executables = executables
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\site-packages\cx_Freeze\dist.py", line 342, in setup
    distutils.core.setup(**attrs)
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\site-packages\cx_Freeze\dist.py", line 217, in run
    freezer.Freeze()
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\site-packages\cx_Freeze\freezer.py", line 645, in Freeze
    self._WriteModules(fileName, self.finder)
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\site-packages\cx_Freeze\freezer.py", line 536, in _WriteModules
    sourcePackageDir = os.path.dirname(module.file)
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\ntpath.py", line 221, in dirname
    return split(p)[0]
  File "C:\Users\RAJ\Anaconda3\envs\correlation-generator\lib\ntpath.py", line 183, in split
    p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType

标签: python-3.xtkintercx-freeze

解决方案


推荐阅读