簡體   English   中英

cx_freeze attributeerror: 'windowspath' object 沒有屬性 'write' 錯誤

[英]cx_freeze attributeerror: 'windowspath' object has no attribute 'write' error

嘗試使用 Cx_Freeze 將 my.py 文件轉換為 .exe 文件時出現此錯誤:

cx_freeze attributeerror: 'windowspath' object has no attribute 'write' error

我要轉換的文件:

print("Hello!")
while True:
    pass

安裝.py文件:

from cx_Freeze import setup, Executable
 
setup( name = "HW" , 
    version = "0.1" ,
    description = "Hello World App" , 
    executables = [Executable("file.py")] , 
     )

完整的控制台輸出(只有錯誤):

Traceback (most recent call last):
  File "C:\Users\Muhammed\Desktop\a.py", line 6, in <module>
    executables = [Executable("b.py")] ,
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\dist.py", line 447, in setup
    setuptools.setup(**attrs)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\dist.py", line 317, in run
    freezer.Freeze()
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\freezer.py", line 623, in Freeze
    self._write_modules(library_zip, finder)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\freezer.py", line 568, in _write_modules
    outFile.writestr(zinfo, data)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 1644, in writestr
    with self.open(zinfo, mode='w') as dest:
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 1348, in open
    return self._open_to_write(zinfo, force_zip64=force_zip64)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 1461, in _open_to_write
    self.fp.write(zinfo.FileHeader(zip64))
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 721, in write
    n = self.fp.write(data)
AttributeError: 'WindowsPath' object has no attribute 'write'
Exception ignored in: <bound method ZipFile.__del__ of <zipfile.PyZipFile [closed]>>
Traceback (most recent call last):
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 1649, in __del__
    self.close()
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 1667, in close
    self._write_end_record()
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 1769, in _write_end_record
    self.fp.write(endrec)
  File "C:\Users\Muhammed\AppData\Local\Programs\Python\Python36\lib\zipfile.py", line 721, in write
    n = self.fp.write(data)
AttributeError: 'WindowsPath' object has no attribute 'write'

我在使用 Windows 10 時沒有收到此錯誤,但當我將系統升級到 Windows 11 時開始收到此錯誤。

(我用谷歌翻譯)

我這樣解決了我的問題:我的 Python 版本是 3.6。 由於 python 版本,我在許多模塊中都遇到了錯誤。 想也許這就是為什么,我安裝了 3.8 並再次嘗試。 這樣我的問題就解決了。

我也借助Virtual Box在Windows 7上試了一下,我以為問題出在Windows 11上。同樣的錯誤,升級到3.8,問題又解決了。

(我用谷歌翻譯)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM