pyinstaller 错误排查的验证史

news/2024/5/20 0:01:28 标签: python, pyinstaller

pyinstaller打包时出现如下错误,很明显感觉是路径被转义 或者历史迁移导致的

报错路径:OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: D:\t_job\x07naconda3_20201121\\Lib\\site-packages'

安装路径:File "D:\11_job\anaconda3_20201121\

python">(base) H:\资料整理-222\pyMyproject\001模块验证\pyinstall验证>pyinstaller -c -F create_file.py
7043 INFO: PyInstaller: 6.1.0
7044 INFO: Python: 3.8.5 (conda)
7045 INFO: Platform: Windows-7-6.1.7601-SP1
7049 INFO: wrote H:\资料整理-222\pyMyproject\001模块验证\pyinstall验证\create_file.spec
my yiyyyyyyyy H:\资料整理-222\pyMyproject\001模块验证\pyinstall验证\create_file.spec H:\资料整理-222\pyMyproject\001模块验证\pyinstall验证\dist H:\资料整理-222\pyMyproject\001模块验
证\pyinstall验证\build False
7077 INFO: Extending PYTHONPATH with paths
['H:\\资料整理-222']
8230 INFO: checking Analysis
8231 INFO: Building Analysis because Analysis-00.toc is non existent
8232 INFO: Initializing module dependency graph...
8233 INFO: Caching module graph hooks...
8304 INFO: Analyzing base_library.zip ...
24462 INFO: Loading module hook 'hook-heapq.py' from 'D:\\11_job\\anaconda3_20201121\\lib\\site-packages\\PyInstaller\\hooks'...
25148 INFO: Loading module hook 'hook-encodings.py' from 'D:\\11_job\\anaconda3_20201121\\lib\\site-packages\\PyInstaller\\hooks'...
36409 INFO: Loading module hook 'hook-pickle.py' from 'D:\\11_job\\anaconda3_20201121\\lib\\site-packages\\PyInstaller\\hooks'...
38155 INFO: Caching module dependency graph...
38587 INFO: Running Analysis Analysis-00.toc
38587 INFO: Looking for Python shared library...
38621 INFO: Using Python shared library: D:\11_job\anaconda3_20201121\python38.dll
38638 INFO: Analyzing H:\资料整理-222\pyMyproject\001模块验证\pyinstall验证\create_file.py
38643 INFO: Processing module hooks...
38667 INFO: Looking for ctypes DLLs
38687 INFO: Analyzing run-time hooks ...
38699 INFO: Looking for dynamic libraries
39017 INFO: Extra DLL search directories (AddDllDirectory): []
39017 INFO: Extra DLL search directories (PATH): []
my orig_paths::: ['D:\\11_job\\anaconda3_20201121', 'D:\\11_job\\anaconda3_20201121\\lib\\site-packages', 'D:\t_job\x07naconda3_20201121\\Lib\\site-packages']
Traceback (most recent call last):
  File "D:\11_job\anaconda3_20201121\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "D:\11_job\anaconda3_20201121\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "D:\11_job\anaconda3_20201121\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\__main__.py", line 205, in _console_script_run
    run()
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\__main__.py", line 189, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\__main__.py", line 61, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\building\build_main.py", line 1043, in main
    build(specfile, distpath, workpath, clean_build)
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\building\build_main.py", line 982, in build
    exec(code, spec_namespace)
  File "H:\资料整理-222\pyMyproject\001模块验证\pyinstall验证\create_file.spec", line 4, in <module>
    a = Analysis(
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\building\build_main.py", line 468, in __init__
    self.__postinit__()
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\building\datastruct.py", line 184, in __postinit__
    self.assemble()
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\building\build_main.py", line 800, in assemble
    self.binaries.extend(find_binary_dependencies(self.binaries, collected_packages))
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\building\build_main.py", line 232, in find_binary_dependencies
    return bindepend.binary_dependency_analysis(binaries, search_paths=extra_libdirs)
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\depend\bindepend.py", line 122, in binary_dependency_analysis
    parent_dir_preservation_paths = _get_paths_for_parent_directory_preservation()
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\depend\bindepend.py", line 74, in _get_paths_for_parent_directory_preservation
    print('my orig_paths list:::',[pathlib.Path(path).resolve() for path in orig_paths])
  File "D:\11_job\anaconda3_20201121\lib\site-packages\PyInstaller\depend\bindepend.py", line 74, in <listcomp>
    print('my orig_paths list:::',[pathlib.Path(path).resolve() for path in orig_paths])
  File "D:\11_job\anaconda3_20201121\lib\pathlib.py", line 1177, in resolve
    s = self._flavour.resolve(self, strict=strict)
  File "D:\11_job\anaconda3_20201121\lib\pathlib.py", line 205, in resolve
    s = self._ext_to_normal(_getfinalpathname(s))
OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: 'D:\t_job\x07naconda3_20201121\\Lib\\site-packages'

根据报错路径,找到path的变量位置,修改源码,打印path 确认问题点,因为pyinstaller是安装程序不能debug(print是debug的另一种形式)

 pathlib.Path(path).resolve() for path in orig_paths

发现是  site.getusersitepackages() 返回影响,进一步查询,找到如下的位置,配置了USER_SITE的环境变量,在字符串前面加上r表示不转义 ,即可解决;

附注,除了 \11 还有\a(naconda) 也进行了转义


http://www.niftyadmin.cn/n/5164061.html

相关文章

centos7 install postgres-15 多实例

1.install 默认实例 参考&#xff1a;centos7 install postgres-15-CSDN博客 2.copy service cp /usr/lib/systemd/system/postgresql-15.service /usr/lib/systemd/system/postgresql-15-3.service 3.修改/usr/lib/systemd/system/postgresql-15-3.service # Location …

Stable Diffusion源码调试(三)

Stable Diffusion源码调试&#xff08;三&#xff09; 个人模型主页&#xff1a;LibLibai stable-diffusion-webui 版本&#xff1a;v1.4.1 内容更新随机&#xff0c;看心情调试代码~ shared 变量 shared变量&#xff0c;简直是一锅大杂烩&#xff0c;shared变量存放着程序…

模型实战(16)之StrongSort (OSNET)配合YOLOv5、v7、v8 实现多目标跟踪详解

StrongSort (OSNET)配合YOLOv5、v7、v8 实现多目标跟踪详解 此项目包含一个高度可配置的两阶段跟踪器,可根据不同的部署场景进行调整。由YOLOv5, YOLOv7, YOLOv8(一系列在COCO数据集上预训练的对象检测架构和模型)生成的检测被传递给StrongSORT, StrongSORT基于OSNet结合运动…

基于CLIP的图像分类、语义分割和目标检测

OpenAI CLIP模型是一个创造性的突破&#xff1b; 它以与文本相同的方式处理图像。 令人惊讶的是&#xff0c;如果进行大规模训练&#xff0c;效果非常好。 在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D…

景联文科技提供高质量人像采集服务,助力3D虚拟人提升逼真度

人像采集是一种通过特定设备或技术&#xff0c;对人的相貌、身材等特征信息进行收集和处理的过程&#xff0c;可应用于3D虚拟人领域。通过采集大量的人像数据&#xff0c;可以训练和优化人像识别算法&#xff0c;提高其准确性。 人像采集对于提高3D虚拟人的逼真度、个性化定制以…

web框架与Django

web应用程序 什么是web Web应用程序是一种可以通过Web访问的应用程序&#xff0c;程序的最大好处是用户很容易访问应用程序&#xff0c;用户只需要有浏览器即可&#xff0c;不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序&#xff0c;也就是说这…

【数据结构】排序详解二

文章目录 计数排序快速排序归并排序 计数排序 计数排序的基本思想是把每个数出现的次数记录在另外一个数组中&#xff0c;然后我们知道数组下标是有大小的&#xff0c;这样根据数组下标的从小到大去让我们的原数组有序 我们既然要创建一个数组&#xff0c;那么就表明原数组的值…

安防监控EasyCVR视频汇聚平台无法接入Ehome5.0是什么原因?该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、回放…