![](/img/trans.png)
[英]“AttributeError: ‘NoneType’ object has no attribute write” on windows cx_freeze
[英]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.