簡體   English   中英

pyinstaller 不能包含 package

[英]pyinstaller cannot include package

我在虛擬環境中運行 python 2.7,在該環境中運行 pip 在激活后凍結返回

future==0.17.1
lz4==2.1.6
pyparsing==2.3.1
PyQt4 @ file:///C:/.../PyQt4-4.11.4-cp27-cp27m-win_amd64.whl
xlrd==1.2.0

如果我在激活的虛擬環境中運行python並導入lz4,就導入成功了。

但是,當我嘗試在沒有 --windowed 的情況下使用 pyinstaller(3.6 版本)構建可執行文件時,從--windowed運行 exe 文件會給出ImportError: No module named lz4

所以我猜出於某種原因,pyinstaller 不能包含特定的 package。

我嘗試在 .spec 文件上添加運行 pyinstaller 命令與--hidden-import=lz4--paths="path_folder_to_lz4_inside_virtualenv" ,包括hiddenimports=['lz4'],並在.spec文件上運行.spec命令.py文件(以及.py文件),包括

from PyInstaller.utils.hooks import collect_submodules

hidden_imports = collect_submodules('lz4')

在 .spec 上並在.spec.py上運行.spec命令,但 ImportError 仍然存在。

我的機器有 Windows 10。請注意,這是從另一台機器克隆的虛擬環境,其中 pyinstaller 命令運行沒有任何問題,唯一的區別是我有 Windows 7 和 Z9763861EE679E57C0949F9D3871 文件夾,但沒有安裝帶有復制 FB 文件的輪文件sip.pyd 從基礎安裝到環境包文件夾。

有什么建議么?

好的解決方案,以防有人遇到同樣的問題。

在以前的機器上,如果沒有問題,pyinstaller 命令從主 python 安裝運行 pyinstaller,即 python 2.7。 (虛擬環境沒有安裝pyinstaller)

在機器上的問題是,pyinstaller 安裝在主安裝(python 3)和一個單獨的 virualenv 中,主 python 2.7 安裝,我從這個 python 2.7 安裝運行 pyinstaller。

現在我在 virtualenv 上為這個特定的應用程序安裝了 pyinstaller,我從那里運行了 pyinstaller 命令,它工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM