<https://stackoverflow.com/posts/63287580/timeline>
I have a problem which I have reduced to a small program. The program tries 
to write a Pandas dataframe. 

*This works find in PyCharm*, but when I produce a Windows exe using 
PyInstaller it errors at runtime:


.\pyinst_excel.exe
Traceback (most recent call last):
  File "pyinst_excel.py", line 31, in <module>
  File "pyinst_excel.py", line 25, in add_generated_files_row
  File "site-packages\pandas\io\excel\_openpyxl.py", line 18, in __init__
ModuleNotFoundError: No module named 'openpyxl'
[11408] Failed to execute script pyinst_excel







*I have tried explicitly importing openpyxl and that didn't work and I have 
also used --hidden-import:call venv\Scripts\activate    
pyinstaller  --onefile --hidden-import _openpyxl --hidden-import openpyxl 
--clean  pyinst_excel.py The generated spec file looks like this:*# -*- mode: 
python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['pyinst_excel.py'],
             pathex=['D:\\Development\\OEM-SR-Rules'],
             binaries=[],
             datas=[],
             hiddenimports=['_openpyxl', 'openpyxl'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='pyinst_excel',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True )

However this doesn't fix the problem. From the build/warnings file I see:



*...
missing module named openpyxl - imported by pandas.io.excel._openpyxl (delayed, 
conditional), D:\Development\OEM-SR-Rules\pyinst_excel.py (top-level)
...
missing module named 'openpyxl.styles' - imported by pandas.io.excel._openpyxl 
(delayed)
missing module named 'openpyxl.style' - imported by pandas.io.excel._openpyxl 
(delayed)*Program code:

*import argparse
from operator import attrgetter
import os
import sys
import json
import pandas as pd
import numpy as np
from pathlib import Path
import glob
import re
import time
from sys import exit
from shutil import copyfile

REPORT_DATE_FMT = '%d-%m-%Y %H.%M'


def add_generated_files_row(generated_excel, sequence: int, date_generated):
    # gen_files_df = pd.read_excel(generated_files_excel, index_col=0)

    gen_files_df = pd.DataFrame(columns=['Sequence', 'Date Generated'])
    new_row = {'Sequence': sequence,
               'Date Generated': date_generated}
    gen_files_df = gen_files_df.append(new_row, ignore_index=True, sort=False)
    writer = pd.ExcelWriter(generated_excel)
    gen_files_df.to_excel(writer)


generated_files_excel = Path('D:\temp\test.xlsx')
date_generated = time.strftime(f"{REPORT_DATE_FMT}")
add_generated_files_row(generated_files_excel, 1, date_generated)*

I am using Windows10, Python 3.8 and PyInstaller 3.6. Having read that 
Pyinstaller is not supported under 3.8, I also reproduced the problem with 
Python 3.7.6.

I am out of ideas. Any help would be much appreciated.


Thanks,


Clive


-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyinstaller/e08d2508-af9a-4366-ad5b-93aa2f7619c3o%40googlegroups.com.

Reply via email to