簡體   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