FlyGoat / miui_ota_to_fastbootd

Generate fastbootd flashable images from OTA package for MIUI devices
GNU General Public License v2.0
34 stars 7 forks source link

不是很懂py 请问这个问题怎么解决 #2

Closed coderstory closed 3 years ago

coderstory commented 3 years ago
D:\Data\Desktop\miui_ota_to_fastbootd-main\venv\Scripts\python.exe D:/Data/Desktop/miui_ota_to_fastbootd-main/gen_image.py
Extracting 'payload.bin' from OTA file...
Extracting 'abl.img'
Traceback (most recent call last):
  File "D:/Data/Desktop/miui_ota_to_fastbootd-main/gen_image.py", line 150, in <module>
    main(filename, output_dir)
  File "D:/Data/Desktop/miui_ota_to_fastbootd-main/gen_image.py", line 128, in main
    parse_payload(payload, p, out_f)
  File "D:/Data/Desktop/miui_ota_to_fastbootd-main/gen_image.py", line 100, in parse_payload
    r = decompress_payload('xzcat', data, e.num_blocks * BLOCK_SIZE, operation.data_sha256_hash)
  File "D:/Data/Desktop/miui_ota_to_fastbootd-main/gen_image.py", line 83, in decompress_payload
    p = subprocess.Popen([command, '-'], stdout=subprocess.PIPE, stdin=subprocess.PIPE)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 1307, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
Traceback (most recent call last):
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 613, in _rmtree_unsafe
    os.unlink(fullname)
PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\CODERS~1\\AppData\\Local\\Temp\\tmprs6hxlor\\payload.bin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 802, in onerror
    _os.unlink(path)
PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\CODERS~1\\AppData\\Local\\Temp\\tmprs6hxlor\\payload.bin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\weakref.py", line 642, in _exitfunc
    f()
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\weakref.py", line 566, in __call__
    return info.func(*info.args, **(info.kwargs or {}))
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 817, in _cleanup
    cls._rmtree(name)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 813, in _rmtree
    _shutil.rmtree(name, onerror=onerror)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 737, in rmtree
    return _rmtree_unsafe(path, onerror)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 615, in _rmtree_unsafe
    onerror(os.unlink, fullname, sys.exc_info())
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 805, in onerror
    cls._rmtree(path)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 813, in _rmtree
    _shutil.rmtree(name, onerror=onerror)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 737, in rmtree
    return _rmtree_unsafe(path, onerror)
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 596, in _rmtree_unsafe
    onerror(os.scandir, path, sys.exc_info())
  File "C:\Users\CoderStory\AppData\Local\Programs\Python\Python38\lib\shutil.py", line 593, in _rmtree_unsafe
    with os.scandir(path) as scandir_it:
NotADirectoryError: [WinError 267] 目录名称无效。: 'C:\\Users\\CODERS~1\\AppData\\Local\\Temp\\tmprs6hxlor\\payload.bin'

Process finished with exit code 1
FlyGoat commented 3 years ago

看上去是Windows路径处理的问题,可以尝试在Linux或者WSL环境跑一下?

coderstory commented 3 years ago

wsl 下可行 就是windows下不行

FlyGoat commented 3 years ago

TODO: README comment about Windows