1. 程式人生 > >python打包exe後https找不到cacert.pem證書解決方法

python打包exe後https找不到cacert.pem證書解決方法

背景:

程式中引用了requests庫,用requests庫傳送了https請求,一切正常

但用Py2exe打包成exe後,報錯:

IOError: Could not find a suitable TLS CA certificate bundle, invalid path: D:\xxxxx\dist\library.zip\certifi\cacert.pem

打包所使用的程式碼:

from distutils.core import setup
import py2exe

setup(console=["saver.py"])

命令列中執行:

python create.py py2exe

打包完成,目錄下生成dist資料夾

解決方法:

報錯找不到:

library.zip\certifi\cacert.pem

缺少cacert.pem那直接補進去不可以嗎?

觀察dist目錄中有library.zip

直接下載cacert.pem打包進zip中certifi目錄下是不行的,依然報錯

重要操作:

把library.zip解壓到當前目錄

並把資料夾命名為library.zip,往certifi目錄下放cacert.pem



cacert.pem下載地址:

https://curl.haxx.se/docs/caextract.html


終極解決辦法!!:

可以不用Py2exe打包

用pyinstaller

pip install pyinstaller

會產生pyinstaller.exe在python27/script/目錄下,如果配置過pip的環境變數,就可以直接呼叫pyinstaller命令

打包非常簡單,命令列中:

pyinstaller -F xxx.py

仔細看輸出,會顯示打包好的exe放在了哪個路徑


相關推薦

python打包exehttpscacert.pem證書解決方法

背景:程式中引用了requests庫,用requests庫傳送了https請求,一切正常但用Py2exe打包成exe後,報錯:IOError: Could not find a suitable TLS CA certificate bundle, invalid path:

wordpress 設定靜態標籤中中文連結到頁面的解決方法

轉自:http://www.li.cm/news/2011/04/17/wordpress-%E8%AE%BE%E7%BD%AE%E9%9D%99%E6%80%81%E5%90%8E%E6%A0%87%E7%AD%BE%E4%B8%AD%E4%B8%AD%E6%96%87%

ubuntu安裝pycharm在快速啟動欄啟動提示到jdk的解決方法

由於學習python的需要,在電腦上安裝了pycharm社群版,按照說明進入pycharm的bin資料夾之後,執行"./pycharm.sh"指令碼執行pycharm.到此時都是正常的. 可是當再啟動欄啟動pycharm的時候系統卻提示"no JDK found",如下圖所示 倒騰一會後

MySql安裝到服務的處理方法

使用cmd窗體,找到安裝目錄C:\Program Files\MySQL>cd "MySQL Server 5.5"C:\Program Files\MySQL\MySQL Server 5.5>cd binC:\Program Files\MySQL\MySQL

水晶報表 Crystal Report 調用存儲過程時出錯 到表 ,解決方法

top app net amp lean local database sep asp.net 用 CrystalReportViewer1 控件在asp.net的網頁上顯示報表,假設做報表時調用數據表數據的方式調用是能夠成功的。但報表是用存儲過程獲

使用筆記本撥通openvpn,筆記本能上網的解決方法

openvpn iptables 網上也流傳著一些,解決方法:一:方法1:配置ip轉發,iptables規則來轉發首先,修改openvpnserver端的ip轉發功能echo 1 > /proc/sys/net/ipv4/ip_forward然後配置iptables,使用NAT技術iptable

Python首次安裝運行報錯(0xc000007b)的解決方法

blank mage detail ref pytho AD lB zh-cn width 最近在安裝完Python後運行發現居然報錯了,錯誤代碼是0xc000007b,於是通過往上查找發現是因為首次安裝Python缺乏VC++庫的原因,下面通過這篇文章看看如何解決這個問

python logging 日誌輪轉文件刪除問題的解決方法

sage lis 方法 rmi example audio [] tin lse 項目使用了 logging 的 TimedRotatingFileHandler : #!/user/bin/env python # -*- coding: utf-8 -*- impo

安裝oracle 11g時,報啟動服務出現錯誤,到OracleMTSRecoveryService的解決方法

是否 卸載 名稱 window7 ntc oca 高級 很多 bho 很多人在安裝orcl數據庫時,出現很多報錯,我也不例外,因上次數據庫出現問題,無法修復,只能從新安裝,無奈的是,安裝時報啟動服務出現錯誤,找不到OracleMTSRecoveryService錯MMP,心

python3中django-admin到core的解決方法

今天在測試django-admin startproject mysite時,出現以下問題: ImportError: No module named django.core 在執行此命令之前,我將django-admin連結到了PATH路徑中,後來發現是django-admin找不到核了。核還在源路徑的

iOS 打包ipa無法收到推送訊息的解決方法

最近在做專案的時候在推送上面遇到了一個問題,用Xcode在真機上執行除錯時可以正常收到推送訊息,但是將專案打包測試包出來後安裝到真機上無法收到推送,猜想問題肯定是出在證書上,因為iOS推送有一個開發證書和一個生產證書,用Xcode在真機執行肯定是開發環境,打包ipa包後收不到推送,很有可能打包測試i

adb devices 到裝置的解決方法

若用adb devices無法列出android裝置,則按如下步驟排查 1)裝置是否開啟開發者usb除錯模式; 2)裝置管理器是否顯示android adb interface或者Android Composite ADB Interface; 3)若無顯示android a

Android Studio 到R檔案解決方法

新建專案之後顯示R檔案找不到 解決方法: 最簡單的辦法就是電腦聯網之後開啟Android Studio -->Build-->Clean Project 本人就是這樣解決的,剛開始沒聯網的時候新建專案之後顯示R檔案沒有找到,後來電腦聯網之後再新建專案什麼問題

Windows和Mac下adb到裝置的解決方法

要使電腦和手機進行連線,我們一般都需要 1.給電腦安裝手機USB驅動,為了檢查驅動安裝成功之後,檢查電腦和手機連線狀況。2.下載adb檢查工具。 當我們輸入命令 adb devices進行驗證的時候,掃描不到任務裝置。 出現這種情況主要是因為adb內建有一個知名的廠商ID

魔改Cmake系列:cmake中Boost到庫的解決方法

# ------------------------------------------------------------------------ #  Begin finding boost libraries # ---------------------------

“make install 庫之後 pkg-config 到庫”的解決方法

問題描述 通過原始碼編譯,然後make install 的方式安裝一個庫之後,pkg-config 不能正確給出以安裝的這個庫的 標頭檔案 和 庫檔案 的資訊。 比如,通過原始碼編譯,然後 make install 的方式安裝了 libavutil 庫,但是 pkg-c

RabbitMQ3.7.2 安裝完web控制檯可以訪問的解決方法

軟體版本 1.安裝Erlong otp_win64_20.2 2.安裝rabbitmq-server-3.7.2.exe 3.安裝完後 我們進入到我們安裝到 sbin目錄C:\Program Files\RabbitMQ Server\rabbitmq

ubuntu系統wifi模組到介面卡的解決方法

遊戲本型號Y7000 win10 Ubuntu16.04雙系統 解決方法: 1、開啟終端輸入:rfkill list all 出現如下提示:: 0:ideapad_wlan: Wireless LAN Soft blocked: no Hard bl

Import cv2 ImportError:DLL load failed:到指定模組 解決方法

實驗環境: 系統版本:Win 10 企業版 Anaconda :Python 3.5.2 | Anaconda 4.2.0(64-bit) 問題描述: 安裝OpenCV後使用import cv2 時出現如下錯誤 解決方法: 將pyth

Android到So庫解決方法

報錯為:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader 1. 執行時報錯java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader。