繁体   English   中英

使用 cloudcraper 模块创建.exe (pyinstaller) 时出错

[英]Error creating .exe (pyinstaller) with cloudscraper module

我正在尝试从我的 python 脚本创建 an.exe。 该脚本使用cloudscraper package。 当我创建 .exe 并执行它时,它显示以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\...\\MEI1....\\cloudscraper\\user_agent\\browsers.json'

该错误仅在我尝试执行该.exe 文件时出现。

为什么会这样? pyinstaller 无法使用 cloudcraper 吗?

项目结构如下所示:

C:\Users\andre\OneDrive\Documentos\Programming\Python\Python3\proyect

proyect 
   |
   |______ main.py
   |
   |______ services
           |________ __init__.py
           |_______ main_service.py
           |_______ sql_service.py

这与我的项目结构非常相似,因为很明显,我无法分享我项目的实际项目结构。

检查此链接: https://stackoverflow.com/a/64586862/14509818

或者

在创建 exe 时添加此命令。

--add-data "path_for_cloudscraper_folder;./cloudscraper/"

path_for_cloudscraper_folder替换为您的 cloudscraper 文件夹的路径。

您可以从 PC 浏览并找到您的 cloudcraper 文件夹路径,或从 github 下载。

这里./cloudscraper/用于在 output 的根目录下添加 cloudscraper 文件夹。 (期望它在根目录中搜索丢失的 cloudcraper 文件夹)

您的 .exe 文件正在寻找 browsers.json,但您没有将该文件移动到与 .exe 文件相同的路径。 使用 pyinstaller 需要有处理相对路径和绝对路径的良好经验,否则,您将面临此类错误。

如果 cloudcraper 不是您的项目树的一部分(可能是隐藏的导入):

  1. 尝试从此处复制名为“cloudscrapper”的文件夹并将其粘贴到 your.exe 文件的同一路径中

找到的解决方案是将所需的文件夹复制到 .exe 路径中,但就目前而言,我发现如果您使用--onefile修饰符创建 .exe ,则无法实现,而不是您不应该使用它并在such.exe路径中复制cloudscraper文件夹,这应该可以

注意:路径不是父文件夹 cloudcraper ,而是嵌套文件夹,其中包含user_agent文件夹

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM