看板 Python 關於我們 聯絡資訊
大家好 小弟寫了一簡單應用程式 想用pyinstaller 打包成 exe 打包完成後執行exe 檔出現 "No module named 'bs4'" 的錯誤訊息 上網查了一下 於是重新打包 pyinstaller --hidden-import=bs4.BeautifulSoup MIPI_error_checker.py (在重新打包前 有先清掉舊的 build/dist 資料夾 也有刪除 MIPI_error_checker.SPE C) 但重新打開exe 依然出現"No module named 'bs4'" 的錯誤訊息 請問我哪個環節出錯了? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.129.120 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1590480131.A.C3E.html
pmove: 你py檔執行沒錯嗎?05/26 17:20
pmove: 你會不會裝有兩個板本python?結果PyInstaller 裝在另一個05/26 17:26
skateshare: 在pycharm 上執行沒有問題 結果也正確05/26 17:53
skateshare: 但是我有把 bs4 拿掉 然後同樣執行pyinstaller沒問題05/26 17:53
skateshare: 這樣能否說明 PyInstaller 沒有裝錯?05/26 17:54
pmove: bs4不拿掉,執行PyInstaller?05/26 18:00
哦 抱歉表達不清 就是不要import bs4 使用pyinstaller 是沒問題的 但一旦有import bs4 就如同原文所說的 ※ 編輯: skateshare (114.136.129.120 臺灣), 05/26/2020 20:10:30
TakiDog: 你直接pyinstaller -f 不能包嗎 spec先不寫05/26 20:09
我第一次就是先用 pyinstaller -F main.py fail 之後才去找 --hidden-import=bs4 的 ※ 編輯: skateshare (114.136.129.120 臺灣), 05/26/2020 20:14:54 mychiux413: 我用py3.4包過bs4, 沒出問題 05/26 21:22 這邊可以問一下 我退回3.4之後 pyinstaller 反而吐出 pyinstaller requires at least python 2.7 or 3.5+??
pmove: 你不用--hidden-import參數,會有啥問題嗎?還有用python3. 05/27 10:07
pmove: 8.x的話,可以安裝PyInstaller, 但在包成exe時,可能有問題 05/27 10:07
pmove: 您先用py -3 your.py執行,確定可以執行。再用 py -3 -m Py 05/27 11:23
pmove: Installer <參數> your.py 這樣就可以確定python版本正確 05/27 11:23
pmove: --hidden-import=bs4改成這樣看看? 05/27 11:38
第一開始的確不用 --hidden-import 會抓不到 bs4 另外我試過您的 py -3 main.py 出現ModuleNotFoundError: No module named 'bs4' 這樣是我的py版本有問題嗎? ※ 編輯: skateshare (114.136.129.120 臺灣), 05/27/2020 14:45:50 ※ 編輯: skateshare (114.136.129.120 臺灣), 05/27/2020 14:49:25
pmove: 你不能執行py -3 main.py代表該python環境沒安裝bs4模組 05/27 14:52
skateshare: 我是原po 但我在pycharm 環境是沒問題 所以你說的 05/27 14:54
skateshare: 的python 環境不等於 pycharm 環境? 05/27 14:55
skateshare: pmove 大 謝謝你 05/27 15:02
skateshare: 我剛剛google一下 先pip install bs4 05/27 15:02
skateshare: 然後正常執行 pyinstaller -F main.py 沒問題了 05/27 15:02
skateshare: 感謝所有板友腦力激盪 十分謝謝 05/27 15:03
s860134: pychram 預設會在 project 資料夾產生一個 venv 05/30 17:52
s860134: 所以確實就是 pycharm 的 python 不是你的 pyinstaller 05/30 17:53
s860134: 所跑的 python 05/30 17:53
s860134: 板上大概有 1/10 的提問都是這個問題XD 05/30 17:54
s860134: google "virtualenv" ,使用 conda 或 pychrame 都是類似 05/30 17:57
s860134: 常見問題 05/30 17:57
alvinlin: 所以新手還是用IDLE就好。書上沒事介紹那些比較複雜的又 06/02 01:51
alvinlin: 沒說清楚 06/02 01:51